Я пытаюсь создать пользовательский элемент управления, который будет изменять некоторый исходный код, сгенерированный шаблоном.
Я попытался получить расположение сборки из созданного мной пользовательского элемента ControlDesign, но это Visual Studio .exeместоположение, а не местоположение исходного кода.
Private Designer As BulkOpsVesselGridControlDesigner
Public Sub New(ByVal Designer As BulkOpsVesselGridControlDesigner)
MyBase.New(Designer.Component)
Me.Designer = Designer
End Sub
Public Property GridType() As BulkOpsGrids
Get
Return Me.Designer.VesselGridControl.GridType
End Get
Set(ByVal value As BulkOpsGrids)
Me.Designer.VesselGridControl.GridType = value
If value = BulkOpsGrids.NewGrid Then
'Display Input from Developer
Dim gridName = InputBox("Please Type out the name of the Grid Type Without Spaces. Ex: WorkingCrane")
'TODO: Get file path programmatically (based on developer)
Dim path = "C:\BulkOpsWinUILib\UserControls\GridPropertyData\BulkOpsGridData.vb"
Dim fileExists As Boolean = IO.File.Exists(path)
Using sw As New IO.StreamWriter(IO.File.Open(path, IO.FileMode.OpenOrCreate))
'TODO: write logic for formatting and proper placedment
sw.WriteLine(gridName)
End Using
End If
End Set
End Property
В конечном счете, я хотел бы, чтобы разработчик выбрал опцию "newGrid", я хотел бы, чтобы он автоматически запрашивал детали для определения сетки, а затем добавлял опцию кправильный исходный код.
Надежда состоит в том, чтобы создать шаблон, который можно использовать для стандартизации того, как мы создадим эти элементы управления в будущих приложениях.Сам шаблон поможет создавать и создавать исходный код по мере необходимости.Аналогично тому, как конструктор автоматически записывает в файл .designer.
Изображение структуры файла