当前位置:编程学习 > C#/ASP.NET >>

求助,关于自定义控件中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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,