UserControl的Text属性

c02645 2009-06-16 03:54:42
private string text;
[Browsable(true)]
public override string Text
{
get { return text; }
set { text = value; }
}

private void lab_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString(this.Text, this.Font, p.Brush, 0, 0);
}


为什么每次重新生成以后控件的Text属性都清空了?
...全文
76 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxm3630478 2009-06-16
  • 打赏
  • 举报
回复
楼主你的问题应该是这样的吧

你把你的用户控件UserControl 拖到一个窗体上 然后给在属性框中给Text属性 [赋值]

赋值后 你在重新生成你的代码 然后再回来看UserControl 的属性Text 的值 ......Text值被清空了


是吧??????

试了一下重写的属性好像会那样.......但是自己自定义的属性不会那样

private string text;
public string DisText
{
get
{
return text;
}
set
{
text= value;
}
}
c02645 2009-06-16
  • 打赏
  • 举报
回复
lab.Paint += lab_Paint; //给属性赋值时 触发事件

问题不在那里,写事件在那里有什么用,
生成项目后Text值都是空的

在窗体代码生成器里找不到相关的Text属性值
wxm3630478 2009-06-16
  • 打赏
  • 举报
回复

private string text;
[Browsable(true)]
public override string Text
{
get { return text; }
set {
text = value;
lab.Paint += lab_Paint; //给属性赋值时 触发事件
}
}

private void lab_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString(this.Text, this.Font, p.Brush, 0, 0);
}


c02645 2009-06-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 assky124 的回复:]
构造函数中添加
this.text = "初始的名字";
[/Quote]


我想在属性窗口那里设置呢?
要不设置这里不是一点用处都没有了 [Browsable(true)]
c02645 2009-06-16
  • 打赏
  • 举报
回复
我想在属性窗口那里设置呢?
assky124 2009-06-16
  • 打赏
  • 举报
回复
构造函数中添加
this.text = "初始的名字";
c02645 2009-06-16
  • 打赏
  • 举报
回复
我是放在同一项目里的,会不会跟这有关?
tom6881a 2009-06-16
  • 打赏
  • 举报
回复
帮顶

110,534

社区成员

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

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

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