我的控件有一个List<Point>
属性,需要在构造该控件时设置。单个Point
必须从鼠标单击窗体中获取,并且必须在Visual Studio的Designmode中进行。
现在我的想法是每当创建一个复制原始表单的控件时打开一个新表单,在新表单上我可以点击一下,注册Points,将它们添加到List属性并关闭新表单当我完成了。但我似乎无法将原始的Forms属性应用于新的属性,我想这是因为它不会在运行时发生。
这就是我到目前为止(我知道它并不多,关于原理):
创建控件时显示新表单:
Public Sub New()
InitializeComponent()
Dim myForm As Form = Me.FindForm()
Dim newForm As New newForm(myForm)
scrInput.Show()
End Sub
新表格:
Public Class SourceForm
Private additionlHeight As Integer = 50
Public Sub New(ScrSource As Form)
InitializeComponent()
Me.Height = ScrSource.Height + additionlHeight
Me.Width = ScrSource.Width
Me.BackColor = ScrSource.BackColor
End Sub
End Class
新表格上没有更新的高度,宽度或背景颜色......有什么想法吗?
答案 0 :(得分:0)
仅出于文档的原因:
看起来我设法解决了我的问题。我尝试了很多不同的东西,但我相信在Form
的{{1}}中创建新的Load event
最终解决了它。 control
方法也有帮助。
所以这是工作代码。对于控件:
Refresh()
对于新的Form类:
Private Sub myControl_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim myForm As Form = Me.FindForm()
Dim controlInputForm As New myControlInputForm(myForm)
controlInputForm.Show()
End Sub
编辑:输入错误。