vb.net动态添加控件问题

在form1里这样定义DimpaAsNewPanelpa.BackColor=Color.Blackpa.Location=NewPoint(339,300)Me.Con... 在form1里这样定义

Dim pa As New Panel
pa.BackColor = Color.Black
pa.Location = New Point(339, 300)
Me.Controls.Add(pa)
能成功显示定义的panel,但是把这些语句定义在类里就不行了,显示没有controls,不知道怎么做
class p
代码
end class
然后在form1里 dim p1 as new p
希望能显示出panel 怎么做
展开
 我来答
传书vQH02
2014-08-13 · 超过70用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:132万
展开全部
你还要把过程与控件事件绑定
AddHandler 控件.事件名,addressof 事件过程
RemoveHandler 这个是取消绑定

没发现自动生存的事件过程后面还有一个Hander button1.Click之类的,这就是所谓事件句柄。反而跟过程名没关系,改成阿猫阿狗也可以。

例外也可以像 Private WithEvents obj as ControlClass 这么声明控件变量,估计像vb6那样会在下拉列表中列出事件系列。

哎呀,说了半天跑题了。 ff不存在嘛多半不是它的作用域范围内,应该把ff变量定义在类中,而不是类中的某个过程中。

最好把代码添多一点,把ff部分也添出来看看。
游泼的3607
2014-08-13 · TA获得超过102个赞
知道答主
回答量:110
采纳率:33%
帮助的人:103万
展开全部
你还要把过程与控件事件绑定
AddHandler 控件.事件名,addressof 事件过程
RemoveHandler 这个是取消绑定

没发现自动生存的事件过程后面还有一个Hander button1.Click之类的,这就是所谓事件句柄。反而跟过程名没关系,改成阿猫阿狗也可以。

例外也可以像 Private WithEvents obj as ControlClass 这么声明控件变量,估计像vb6那样会在下拉列表中列出事件系列。

哎呀,说了半天跑题了。 ff不存在嘛多半不是它的作用域范围内,应该把ff变量定义在类中,而不是类中的某个过程中。

最好把代码添多一点,把ff部分也添出来看看。
希望能解决您的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tystq
推荐于2017-11-26 · TA获得超过1201个赞
知道小有建树答主
回答量:943
采纳率:100%
帮助的人:822万
展开全部
类代码如下:
Public Class P
    Inherits System.Windows.Forms.Form
    Sub New(ByVal frm As Form)
        Dim pa As New Panel
        pa.BackColor = Color.Black
        pa.Location = New Point(339, 300)
        frm.Controls.Add(pa)
    End Sub
End Class 
'调用如下(调用的窗体的宽必须大于339,高必须大于300,不然看不到显示效果)
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim p1 As New P(Me)
    End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式