积极答复者
继承控件 设置后 无法设置 回原来的属

问题
-
class Bt:Button
{
private void InitializeComponent()
{
BackColor=Color.Red;
}
}
默认BackColor=Color.Control
1继承控件,,
2"视图设计器(D)"修改初始值
3winform调用
4设置回初始值,,,编译,,除了初始值之外,,其它都能设置..
下载
http://files.cnblogs.com/tssing/CustomControlSetProperties.rar
如果你们能把BaudRate属性设回9600就算成功,,
任何值都能设下去,,就是原来的9600不行。。。
记得设置完后,要编译。。。
谢谢大家的关心- 已移动 Sheng Jiang 蒋晟Moderator 2009年5月16日 15:24 Windows表单设计器问题 ([Loc]From:Visual C#)
- 已编辑 tssing 2009年5月17日 12:46
- 已更改类型 YiChun Chen 2009年5月22日 3:25 Do not follow up
- 已更改类型 YiChun Chen 2009年5月25日 3:09 反馈
答案
-
[DefaultValue(12345)] public new int BaudRate { get { return base.BaudRate ; } set { base.BaudRate = value; } }
http://feiyun0112.cnblogs.com/- 已标记为答案 YiChun Chen 2009年5月25日 3:09
全部回复
-
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace X.WinFormsControl { public partial class XButton200905162109 : Button { public XButton200905162109() { this.InitClass(); } private void InitClass() { this.BackColor = Color.Red; } protected override void OnPaint(PaintEventArgs pe) { base.OnPaint(pe); } } }
删除自定义控件的 Desinger 文件, 初始值的代码设到构造函数里面
知识改变命运,奋斗成就人生! -
谢谢,,但是有个小小的问题,,如果删除desinger,,net就无法调用此控件...using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace X.WinFormsControl { public partial class XButton200905162109 : Button { public XButton200905162109() { this.InitClass(); } private void InitClass() { this.BackColor = Color.Red; } protected override void OnPaint(PaintEventArgs pe) { base.OnPaint(pe); } } }
删除自定义控件的 Desinger 文件, 初始值的代码设到构造函数里面
知识改变命运,奋斗成就人生! -
嗯 ~~~
知识改变命运,奋斗成就人生!
http://files.cnblogs.com/tssing/CustomControlSetProperties.rar
如果你们能把BaudRate属性设回9600就算成功,,
任何值都能设下去,,就是原来的9600不行。。。
记得设置完后,要编译。。。
谢谢大家的关心 -
这个可能是由设计器造的,设置默认值 9600 时,VS 会自动清除 From Designer 中关于 BaudRate 属性的描述。所以当属性窗口重新刷新时你看到 12345 了,你可以按下面的方法,在界面上设置 MyBaudRate
using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading; using System.Windows.Forms; using System.Drawing.Design; using System.Drawing; using System.IO; using System.Text.RegularExpressions; namespace CustomControlSetProperties { public partial class Component1 : SerialPort { public int MyBaudRate { get { return this.BaudRate; } set { this.BaudRate = value; } } public Component1() { this.MyBaudRate = 12345; InitializeComponent(); } public Component1(IContainer container):this() { container.Add(this); } } }
知识改变命运,奋斗成就人生!- 已标记为答案 YiChun Chen 2009年5月22日 2:54
- 取消答案标记 YiChun Chen 2009年5月22日 2:55
-
这个可能是由设计器造的,设置默认值 9600 时,VS 会自动清除 From Designer 中关于 BaudRate 属性的描述。所以当属性窗口重新刷新时你看到 12345 了,你可以按下面的方法,在界面上设置 MyBaudRate
using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading; using System.Windows.Forms; using System.Drawing.Design; using System.Drawing; using System.IO; using System.Text.RegularExpressions; namespace CustomControlSetProperties { public partial class Component1 : SerialPort { public int MyBaudRate { get { return this.BaudRate; } set { this.BaudRate = value; } } public Component1() { this.MyBaudRate = 12345; InitializeComponent(); } public Component1(IContainer container):this() { container.Add(this); } } }
知识改变命运,奋斗成就人生!
谢谢,,讨论了半天,,大家终于知道意思了,,很感激。。。
你的方法完全可以解决,,但是属性满天飞,,会越来越多重复没必要的属性出现。。。 -
[DefaultValue(12345)] public new int BaudRate { get { return base.BaudRate ; } set { base.BaudRate = value; } }
http://feiyun0112.cnblogs.com/- 已标记为答案 YiChun Chen 2009年5月25日 3:09
-
Tssing,你好!
由于你没有提供更多的反馈信息,我们会将这个帖子改成“常规讨论”的状态。
如果你有进一步的反馈或者问题已经解决的话,请告诉我们,我们将会帮助你将此帖改回“问题”的状态。
谢谢你的理解!
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.