Vb.net 写一个继承Panel的类,如图,怎么让这个类的实例在窗体中显示的时候能还是像第一张图的布局

adore79 2017-04-12 09:20:18



Public Class 结构类
Inherits System.Windows.Forms.Panel
Public p上 As Panel
Public p下 As Panel
Public WithEvents 条件语句 As TextBox
Public WithEvents if语句 As Panel
Public WithEvents else语句 As Panel
Sub New()
Init()
End Sub

Sub Init()
Me.BorderStyle = BorderStyle.FixedSingle
Me.BackColor = Color.White
if语句 = New Panel
else语句 = New Panel
条件语句 = New TextBox
条件语句.BackColor = Color.White
条件语句.Multiline = True
p上 = New Panel
p上.Height = Me.Height / 3
p下 = New Panel
p下.Height = Me.Height * 2 / 3
if语句.Width = p下.Width / 2

if语句.BorderStyle = BorderStyle.FixedSingle
else语句.BorderStyle = BorderStyle.FixedSingle
p上.BorderStyle = BorderStyle.FixedSingle
p下.BorderStyle = BorderStyle.FixedSingle

p上.Dock = DockStyle.Top
p下.Dock = DockStyle.Bottom
条件语句.Dock = DockStyle.Fill
if语句.Dock = DockStyle.Left
else语句.Dock = DockStyle.Right

p上.Controls.Add(条件语句)
p下.Controls.Add(if语句)
p下.Controls.Add(else语句)
Me.Controls.Add(p上)
Me.Controls.Add(p下)
End SubEnd Class

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
结构 = New 结构类
结构.Dock = DockStyle.Fill
Me.Controls.Add(结构)
End Sub
End SubEnd Class

...全文
301 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
adore79 2017-04-14
  • 打赏
  • 举报
回复
只要使用Resize事件重新设置子控件大小的就可以了
adore79 2017-04-13
  • 打赏
  • 举报
回复
xdashewan 2017-04-13
  • 打赏
  • 举报
回复
引用 3 楼 adore79 的回复:
如果不写 结构.Dock = DockStyle.Fill 怎么让它填充满父控件啊
你这不是自相矛盾吗,第一张图明显不是填充方式,你又要填充又要像图一这样你觉得矛盾吗
adore79 2017-04-13
  • 打赏
  • 举报
回复
如果不写 结构.Dock = DockStyle.Fill 怎么让它填充满父控件啊
Poopaye 2017-04-12
  • 打赏
  • 举报
回复
正常拖出来的控件就是第一张的样子,除非你修改了别的
xdashewan 2017-04-12
  • 打赏
  • 举报
回复
上次就告诉过你了,谁让你加的这句代码
结构.Dock = DockStyle.Fill

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧