求助,关于自定义控件中panel的问题
在自定义控件中设置了两个panel,原意是想用其包含用户拖进去的系统控件如textbox等,两个panel通过按钮切换,显示或隐藏所包含的系统控件。可是做好以后发现所有拖到自定义控件中panel处的控件并不包含在panel中,不会随之切换。求解。谢谢 --------------------编程问答-------------------- 在代码中定义,添加到Panel中,应该可以保证控件被包含在Panel中. --------------------编程问答-------------------- Panel.Controls.Add(你的控件) --------------------编程问答-------------------- Red_angelX(当你XX你会想起谁) 说的在Panel.Controls.Add(你的控件)中在编辑状态中怎么能实现实呢?无法知道用户把什么控件放进去啊。是不是要实现拖放的事件? --------------------编程问答-------------------- ' Panel1、Panel2和Button1在设计界面中添加
' 其他控件在代码中添加
Public Class UserControl1
Private Sub UserControl1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
With Panel1
.Left = 0
.Top = 0
.Width = 106
.Height = 27
.Visible = True
End With
With Panel2
.Left = 0
.Top = 0
.Width = 106
.Height = 27
.Visible = False
End With
Dim TextBox1 As New TextBox
With TextBox1
.Left = 3
.Top = 3
End With
Dim ComboBox1 As New ComboBox
With ComboBox1
.Left = 3
.Top = 3
.Width = 100
End With
Panel1.Controls.Add(TextBox1)
Panel2.Controls.Add(ComboBox1)
With Button1
.Left = 106
.Top = 1
.Height = 27
.Text = "Switch"
End With
Me.Width = 106 + Button1.Width + 3
Me.Height = 27
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Panel1.Visible Then
Panel1.Visible = False
Panel2.Visible = True
Else
Panel1.Visible = True
Panel2.Visible = False
End If
End Sub
End Class --------------------编程问答-------------------- lz的意思是用户在使用时把控件拖放到Panel中?从哪里拖来呢? --------------------编程问答-------------------- 我的意思是在这个自定义控件在设计界面时,用户把系统控件如butten、textbox等拖到我的控件中去,而不是magicbacon(Cannot help coding)的意思 --------------------编程问答-------------------- 这样啊,就是说相当于一个用户控件的模板是么,有意思.
我再试一下看. --------------------编程问答-------------------- 我觉得一般来说只要把控件确实放到Panel上就是会被包含在Panel中的,就怕超出了边界,所以在设计界面中注意就行了.把你的两个Panel大小变大一点,距离分开远一点,Panel本身也离控件的边缘远一点.让用户在添加控件时注意一下Location属性,如果Location是相对于Panel的(如Panel1的Location是(10,10),而添加的控件的Location是(3,3);Panel2的Location是(110,10),而添加的控件的Location是(3,3)),那么就说明控件确实是包含在Panel中了,那么你的代码就有用了.然后再你的自定义控件的Load事件中在设置两个Panel的位置和大小. --------------------编程问答-------------------- magicbacon(Cannot help coding)事实不象你说的那样啊,就是不包含 --------------------编程问答-------------------- 同问啊~我也碰到这样的问题,等待解决
补充:.NET技术 , VB.NET