自定义控件(WinForm)动态添加时无法显示

Aricc 2009-09-04 08:40:46
写了一个自定义控件。从Control继承的。
如果在设计时拖到窗体上,显示都是正常的。
但是如果在运行时动态创建并添加到窗体时却无法显示。
自定义控件中我只重写了OnPaint和OnResize

兄弟姐妹们帮忙,谢谢
...全文
275 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aricc 2009-09-04
  • 打赏
  • 举报
回复
断点看了一下,之前看不到是因为Height=0;
因为在设置Text的时候同时设置了Dock:lbl.Dock = DockStyle.Top;
所以,Width是正确的。
不过Height还是0。
Aricc 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qling717 的回复:]
size = (1,1)
当然看不见了
[/Quote]
默认的大小是(1,1)?
qling717 2009-09-04
  • 打赏
  • 举报
回复
size = (1,1)
当然看不见了
Aricc 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pcqpzq 的回复:]
加上lbl.Location=?;
Lbl.Size=?
试一下
[/Quote]
Size管用了。
谢谢。
不过能不能解释一下为什么会这样呢?
lzsh0622 2009-09-04
  • 打赏
  • 举报
回复
(1) 基础控件用 Control
(2) 可视界面用 UserControl
老Key 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pcqpzq 的回复:]
加上lbl.Location=?;
Lbl.Size=?
试一下
[/Quote]
lz试了吗?楼上说的也不无道理。、、
pcqpzq 2009-09-04
  • 打赏
  • 举报
回复
加上lbl.Location=?;
Lbl.Size=?
试一下
Aricc 2009-09-04
  • 打赏
  • 举报
回复
//Label lbl = new Label();
ColoredLabel.ColoredLabel lbl = new ColoredLabel.ColoredLabel();
lbl.Text = msg;
pnlMsg.Controls.Add(lbl);

110,557

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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