135 lines
5.2 KiB
VB.net
135 lines
5.2 KiB
VB.net
Imports System.Drawing
|
|
Imports System.Windows.Forms
|
|
|
|
Namespace UTSModule.Project
|
|
Public Class DlgLoadStation
|
|
Public Property StationInfo() As StationInfo
|
|
Public Property UserInfo() As Login.UserInfo
|
|
|
|
Private _projectInfo As ProjectInfo
|
|
|
|
Private _projectName As String
|
|
|
|
Private _stationName As String
|
|
|
|
Public Function InitProjectStationInfoWithoutShow(projectName As String, stationName As String) As Boolean
|
|
Dim projectList As String() = ProjectInfo.LoadProjectList(ProjectInfo.InitializeModeEnum.LocalDatabaseLoad)
|
|
If projectList.Contains(projectName) = False Then Return False
|
|
|
|
_projectInfo = New ProjectInfo(UserInfo.UserId, projectName, ProjectInfo.InitializeModeEnum.LocalDatabaseLoad)
|
|
For Each projectStationInfo As StationInfo In _projectInfo.Station
|
|
If projectStationInfo.Name = stationName Then
|
|
StationInfo = projectStationInfo
|
|
StationInfo.UserId = UserInfo.UserId
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
Return StationInfo IsNot Nothing
|
|
End Function
|
|
|
|
Public Overloads Function ShowDialog(projectName As String, stationName As String) As DialogResult
|
|
_projectName = projectName
|
|
_stationName = stationName
|
|
Return Me.ShowDialog
|
|
End Function
|
|
|
|
Private Sub OK_Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles OK_Button.Click
|
|
DialogResult = DialogResult.OK
|
|
Close()
|
|
End Sub
|
|
|
|
Private Sub Cancel_Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Cancel_Button.Click
|
|
DialogResult = DialogResult.Cancel
|
|
Close()
|
|
End Sub
|
|
|
|
Private Sub InitPreviewImage()
|
|
PicStationPreview.SizeMode = PictureBoxSizeMode.StretchImage
|
|
End Sub
|
|
|
|
Private Sub InitializeForm()
|
|
Text = $"请选择需要加载的项目"
|
|
End Sub
|
|
|
|
Private Sub DlgLoadStation_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
InitializeForm()
|
|
InitPreviewImage()
|
|
UpdateProjectList()
|
|
End Sub
|
|
|
|
Private Sub UpdateProjectList()
|
|
CboProject.Items.Clear()
|
|
CboProject.Items.AddRange(ProjectInfo.LoadProjectList(ProjectInfo.InitializeModeEnum.LocalDatabaseLoad))
|
|
|
|
If String.IsNullOrEmpty(_projectName) = False Then
|
|
For i As Integer = 0 To CboProject.Items.Count - 1
|
|
If CboProject.Items(i).ToString() = _projectName Then
|
|
CboProject.SelectedIndex = i
|
|
Exit For
|
|
End If
|
|
Next
|
|
Else
|
|
If CboProject.Items.Count > 0 Then CboProject.SelectedIndex = 0
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub UpdateProjectStation(stations As List(Of StationInfo))
|
|
CboStation.Items.Clear()
|
|
|
|
For Each station As StationInfo In stations
|
|
CboStation.Items.Add(station.Name)
|
|
Next
|
|
|
|
|
|
'添加所有站位描述
|
|
RtxStationDesc.SuspendLayout()
|
|
RtxStationDesc.Clear()
|
|
For Each station As StationInfo In stations
|
|
RtxStationDesc.AppendText($"{station.Name}:{station.Description}{vbNewLine}")
|
|
Next
|
|
RtxStationDesc.ResumeLayout(False)
|
|
RtxStationDesc.PerformLayout()
|
|
|
|
If String.IsNullOrEmpty(_stationName) = False Then
|
|
For i As Integer = 0 To CboStation.Items.Count - 1
|
|
If CboStation.Items(i).ToString() = _stationName Then
|
|
CboStation.SelectedIndex = i
|
|
Exit For
|
|
End If
|
|
Next
|
|
Else
|
|
If CboStation.Items.Count > 0 Then CboStation.SelectedIndex = 0
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CboProject_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboProject.SelectedIndexChanged
|
|
_projectInfo = New ProjectInfo(UserInfo.UserId, CboProject.Text, ProjectInfo.InitializeModeEnum.LocalDatabaseLoad)
|
|
|
|
RtxProjectDesc.Text = _projectInfo.Description
|
|
|
|
If _projectInfo.PreviewImage IsNot Nothing Then
|
|
PicStationPreview.Image = _projectInfo.PreviewImage
|
|
End If
|
|
|
|
UpdateProjectStation(_projectInfo.Station)
|
|
End Sub
|
|
|
|
|
|
Private Sub CboStation_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboStation.SelectedIndexChanged
|
|
Dim selectIndex As Integer = CboStation.SelectedIndex
|
|
StationInfo = _projectInfo.Station.Item(selectIndex)
|
|
StationInfo.UserId = UserInfo.UserId
|
|
|
|
Static lastSelectIndex As Integer = 0
|
|
RtxStationDesc.Select(RtxStationDesc.GetFirstCharIndexFromLine(lastSelectIndex), RtxStationDesc.Lines(lastSelectIndex).Length)
|
|
RtxStationDesc.SelectionColor = Color.Gray
|
|
lastSelectIndex = selectIndex
|
|
|
|
|
|
RtxStationDesc.Select(RtxStationDesc.GetFirstCharIndexFromLine(selectIndex), RtxStationDesc.Lines(selectIndex).Length)
|
|
RtxStationDesc.SelectionColor = Color.Blue
|
|
End Sub
|
|
End Class
|
|
End Namespace
|