This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AUTS_OLD/UTS_Core/UTSModule/Project/DlgLoadStation.vb

135 lines
5.2 KiB
VB.net
Raw Normal View History

2024-03-11 16:32:52 +08:00
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