Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9f33d1b236 | |||
| 24607ec445 | |||
| d75250d5f9 | |||
| be5985cfcd | |||
| 6aa7e850e8 | |||
| 9833802aed | |||
| 47aacebd3a | |||
| 62a9dd2048 | |||
| 220d70013f | |||
| 1633ed140d | |||
| 07634b79b4 | |||
| c5e367e41c | |||
| 3f487c7328 | |||
| 639834d797 | |||
| 7a0a504876 | |||
| 3253b7b8d4 | |||
| a4b3fa8c28 | |||
| ad7b0ed010 |
@@ -422,6 +422,8 @@ Public Class MyMachGroupPanelVM
|
||||
(EgtUILib.GetPrivateProfileInt(S_ESTIMATIONS, K_EST_ENABLE, 0, IniFile.m_sCurrMachIniFilePath) <> 0)
|
||||
' Setto il Materiale in base alla Macchina associata al MachGroup corrente
|
||||
LoadMaterialType()
|
||||
' Zoom all
|
||||
EgtZoom( ZM.ALL)
|
||||
End If
|
||||
|
||||
Return True
|
||||
|
||||
@@ -385,8 +385,8 @@ Public Class MainWindowVM
|
||||
EgtSetLockId(sLockId)
|
||||
End If
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2605, 1, IniFile.m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2605, 1, IniFile.m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2607, 1, IniFile.m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2607, 1, IniFile.m_nKeyOptions)
|
||||
' Leggo e imposto livello utilizzatore
|
||||
IniFile.m_nUserLevel = Math.Min(IniFile.m_nKeyLevel, GetPrivateProfileInt(S_GENERAL, K_USERLEVEL, 1))
|
||||
' Imposto abilitazione lavorazioni avanzate
|
||||
@@ -597,6 +597,9 @@ Public Class MainWindowVM
|
||||
' pulisco output
|
||||
Map.refStatusBarVM.NotifyStatusOutput("")
|
||||
Map.refInputExpanderVM.ResetInputBox()
|
||||
ElseIf e.Key = Key.Left OrElse e.Key = Key.Right OrElse e.Key = Key.Up OrElse e.Key = Key.Down AndAlso Map.refTopCommandBarVM.MachiningIsChecked AndAlso Map.refOperationParametersExpanderVM.OperationParameters.IsEnabled Then
|
||||
Map.refMachiningParameterExpanderVM.FocusSlider()
|
||||
e.Handled = True
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -70,6 +70,6 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.5.6")>
|
||||
<Assembly: AssemblyFileVersion("2.6.5.6")>
|
||||
<Assembly: AssemblyVersion("2.6.7.1")>
|
||||
<Assembly: AssemblyFileVersion("2.6.7.1")>
|
||||
|
||||
|
||||
+1
-1
@@ -236,7 +236,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -224,7 +224,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -214,7 +214,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -214,7 +214,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
@@ -95,6 +95,7 @@
|
||||
Style="{StaticResource ViewTool_CheckBox}"/>
|
||||
|
||||
<Slider Grid.Row="1"
|
||||
x:Name="SliderV"
|
||||
Value="{Binding SliderValue}"
|
||||
IsEnabled="{Binding IsChecked, ElementName=ViewToolBtn}"
|
||||
TickFrequency="{Binding SliderTick}"
|
||||
|
||||
+6
-76
@@ -3,81 +3,11 @@ Imports EgtWPFLib5.EgtFloating
|
||||
|
||||
Public Class MachiningParameterExpanderV
|
||||
|
||||
'Private EgtFloatingTray As EgtFloatingTray
|
||||
'Private EgtFloatingPanel As EgtFloatingPanel
|
||||
|
||||
'Private m_bFirst As Boolean = True
|
||||
|
||||
'Private Sub OperationExpanderView_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
|
||||
' If m_bFirst Then
|
||||
' EgtFloatingTray = FindAncestor(Of EgtFloatingTray)(Me)
|
||||
' EgtFloatingPanel = FindAncestor(Of EgtFloatingPanel)(Me)
|
||||
' AddHandler EgtFloatingTray.SizeChanged, AddressOf EgtFloatingTray_SizeChanged
|
||||
' PanelHeight = EgtFloatingPanel.ActualHeight
|
||||
' Me.AutomaticCloseExpanderStackPanelHeight = AutomaticCloseExpanderStackPanel.ActualHeight
|
||||
' m_bFirst = False
|
||||
' End If
|
||||
' CalculateOperationParametersStackPanelMaxHeight()
|
||||
'End Sub
|
||||
|
||||
'Dim m_bSizeChanging As Boolean = False
|
||||
|
||||
'Private Sub EgtFloatingTray_SizeChanged(sender As Object, e As System.Windows.SizeChangedEventArgs)
|
||||
' If m_bSizeChanging Then Return
|
||||
' m_bSizeChanging = True
|
||||
' CalculateOperationParametersStackPanelMaxHeight()
|
||||
' m_bSizeChanging = False
|
||||
'End Sub
|
||||
|
||||
'Dim PanelHeight As Double = 0
|
||||
'Dim AutomaticCloseExpanderStackPanelHeight As Double = 0
|
||||
|
||||
'Private Sub CalculateOperationParametersStackPanelMaxHeight()
|
||||
' Dim AutomaticCloseExpanderStackPanelHeight As Double = 0
|
||||
' Dim OpenedExpanderList As New List(Of Boolean)
|
||||
' For Index = 0 To AutomaticCloseExpanderStackPanel.Children.Count - 1
|
||||
' If TypeOf AutomaticCloseExpanderStackPanel.Children(Index) Is Expander Then
|
||||
' Dim IndexedExpander As Expander = DirectCast(AutomaticCloseExpanderStackPanel.Children(Index), Expander)
|
||||
' If IndexedExpander.IsExpanded Then
|
||||
' OpenedExpanderList.Add(True)
|
||||
' IndexedExpander.IsExpanded = False
|
||||
' Dim CurrExpanderContent As FrameworkElement = DirectCast(IndexedExpander.Content, FrameworkElement)
|
||||
' CurrExpanderContent.Measure(New Size(Double.PositiveInfinity, Double.PositiveInfinity))
|
||||
' AutomaticCloseExpanderStackPanelHeight -= CurrExpanderContent.DesiredSize.Height
|
||||
' ' Sottraggo anche i padding
|
||||
' AutomaticCloseExpanderStackPanelHeight -= (IndexedExpander.Padding.Top + IndexedExpander.Padding.Bottom)
|
||||
' Else
|
||||
' OpenedExpanderList.Add(False)
|
||||
' End If
|
||||
' Else
|
||||
' OpenedExpanderList.Add(False)
|
||||
' End If
|
||||
' Next
|
||||
' Dim RemainingHeight As Double = EgtFloatingTray.ActualHeight - PanelHeight
|
||||
' AutomaticCloseExpanderStackPanel.MaxHeight = Me.AutomaticCloseExpanderStackPanelHeight + RemainingHeight
|
||||
' For Index = AutomaticCloseExpanderStackPanel.Children.Count - 1 To 0 Step -1
|
||||
' If TypeOf AutomaticCloseExpanderStackPanel.Children(Index) Is Expander Then
|
||||
' Dim IndexedExpander As Expander = DirectCast(AutomaticCloseExpanderStackPanel.Children(Index), Expander)
|
||||
' If OpenedExpanderList(Index) Then
|
||||
' IndexedExpander.IsExpanded = True
|
||||
' End If
|
||||
' End If
|
||||
' Next
|
||||
'End Sub
|
||||
|
||||
'' Funzione che permette di trovare il primo contenitore di tipo T di un elemento grafico dependencyObject
|
||||
'Public Function FindAncestor(Of T As Class)(dependencyObject As DependencyObject) As T
|
||||
' Dim target As DependencyObject = dependencyObject
|
||||
' Do
|
||||
' target = LogicalTreeHelper.GetParent(target)
|
||||
' Loop While target IsNot Nothing AndAlso Not (TypeOf target Is T)
|
||||
' If IsNothing(target) Then
|
||||
' target = dependencyObject
|
||||
' Do
|
||||
' target = VisualTreeHelper.GetParent(target)
|
||||
' Loop While target IsNot Nothing AndAlso Not (TypeOf target Is T)
|
||||
' End If
|
||||
' Return TryCast(target, T)
|
||||
'End Function
|
||||
''' <summary>
|
||||
''' Funzione che mette il focus allo slider
|
||||
''' </summary>
|
||||
Friend Sub FocusOnSlider()
|
||||
Me.SliderV.Focus()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
+28
-1
@@ -6,6 +6,11 @@ Imports EgtWPFLib5
|
||||
Public Class MachiningParameterExpanderVM
|
||||
Inherits VMBase
|
||||
|
||||
''' <summary>
|
||||
''' Evento che permette di mettere il focus sullo slider
|
||||
''' </summary>
|
||||
Friend Event m_EventFocusOnSlider()
|
||||
|
||||
Private WithEvents m_CurrOperation As MachiningTreeViewItem
|
||||
Public Property CurrOperation As MachiningTreeViewItem
|
||||
Get
|
||||
@@ -310,6 +315,17 @@ Public Class MachiningParameterExpanderVM
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
''' <summary>
|
||||
''' Funzione che attiva l'evento che mette il focus sullo slider
|
||||
''' </summary>
|
||||
Public Sub FocusSlider()
|
||||
RaiseEvent m_EventFocusOnSlider()
|
||||
End Sub
|
||||
|
||||
#End Region ' Methods
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "UpdateMachiningCommand"
|
||||
@@ -341,7 +357,18 @@ Public Class MachiningParameterExpanderVM
|
||||
MessageBox.Show(EgtMsg(5423) + sErrorList, EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
||||
Return
|
||||
End If
|
||||
Dim bRecalc As Boolean = ((Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift)
|
||||
|
||||
Dim bRecalc As Boolean = False
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
bRecalc = True
|
||||
Else
|
||||
' Controllo se il tipo e' dr o sr o lr bRecalc e' true come quando viene selezionato Shift
|
||||
For Each ItemNote As NoteListBoxItem In m_CurrOperation.NotesList
|
||||
bRecalc = ItemNote.Type.Equals("dr") OrElse ItemNote.Type.Equals("lr") OrElse ItemNote.Type.Equals("sr") OrElse ItemNote.Type.Equals("br")
|
||||
If bRecalc Then Exit For
|
||||
Next
|
||||
End If
|
||||
|
||||
' La modifica di alcuni parametri forza il ricalcolo della geometria
|
||||
Dim ModifiedGeometry As Boolean = m_CurrOperation.m_IsModifiedSelectedFaceUseType
|
||||
' aggiorno valori modificati
|
||||
|
||||
+1
-1
@@ -232,7 +232,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -241,7 +241,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -213,7 +213,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -217,7 +217,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -211,7 +211,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -209,7 +209,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -217,7 +217,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -224,7 +224,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+3
-8
@@ -234,7 +234,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
@@ -279,8 +279,8 @@
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LiPerpTxBl}"
|
||||
ParamTxBx="{Binding Path=LiPerp,
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LiElevTxBl}"
|
||||
ParamTxBx="{Binding Path=LiElev,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
@@ -302,11 +302,6 @@
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding LoPerpTxBl}"
|
||||
ParamTxBx="{Binding Path=LoPerp,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
|
||||
|
||||
+1
-1
@@ -199,7 +199,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -218,7 +218,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -236,7 +236,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+1
-1
@@ -226,7 +226,7 @@
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value}"/>
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
|
||||
+2
@@ -73,6 +73,8 @@ Public Class OperationParametersExpanderVM
|
||||
m_MachiningParameterExpander = New MachiningParameterExpanderV
|
||||
m_MachiningParameterExpanderVM = New MachiningParameterExpanderVM()
|
||||
m_MachiningParameterExpander.DataContext = m_MachiningParameterExpanderVM
|
||||
' Associo il gestore evento m_EventFocusOnSlider all'evento generato da FocusOnSlider
|
||||
AddHandler m_MachiningParameterExpanderVM.m_EventFocusOnSlider, AddressOf m_MachiningParameterExpander.FocusOnSlider
|
||||
End If
|
||||
m_MachiningParameterExpanderVM.NotifyPropertyChanged("ParamExpanderPageV")
|
||||
Return m_MachiningParameterExpander
|
||||
|
||||
@@ -428,18 +428,19 @@ Module TableUtility
|
||||
Dim CurrMachining As MTableMachiningGridBoxItem = SelectedTable.ActiveMachinesList(MachineIndex).MachiningList(MachiningIndex)
|
||||
If CurrMachining.GroupId <> CurrGroupId And Not String.IsNullOrWhiteSpace(CurrMachining.PropertyPar) Then
|
||||
Dim CurrentLine As String = " { MachId = '" & SelectedTable.ActiveMachinesList(MachineIndex).MachId & "', Group = " & (CurrMachining.GroupId * 100).ToString &
|
||||
", Property = " & CurrMachining.PropertyPar & " }"
|
||||
If CurrMachining.GroupId <> LastGroupId Then
|
||||
CurrentLine &= " ,"
|
||||
End If
|
||||
", Property = " & CurrMachining.PropertyPar & " } ,"
|
||||
'If CurrMachining.GroupId <> LastGroupId Then
|
||||
' CurrentLine &= " ,"
|
||||
'End If
|
||||
NewTableFileContent.Add(CurrentLine)
|
||||
CurrGroupId = CurrMachining.GroupId
|
||||
ElseIf CurrMachining.GroupId <> CurrGroupId And CurrMachining.GroupId = LastGroupId Then
|
||||
NewTableFileContent(NewTableFileContent.Count - 1) = NewTableFileContent(NewTableFileContent.Count - 1).Trim(","c)
|
||||
'ElseIf MachineIndex = SelectedTable.ActiveMachinesList.Count - 1 AndAlso CurrMachining.GroupId <> CurrGroupId And CurrMachining.GroupId = LastGroupId Then
|
||||
' NewTableFileContent(NewTableFileContent.Count - 1) = NewTableFileContent(NewTableFileContent.Count - 1).Trim(","c)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Next
|
||||
NewTableFileContent(NewTableFileContent.Count - 1) = NewTableFileContent(NewTableFileContent.Count - 1).Trim(","c)
|
||||
End Sub
|
||||
|
||||
Private Sub ReorderMachiningIndex(SelectedTable As MTableListBoxItem)
|
||||
|
||||
Reference in New Issue
Block a user