社区
C#
帖子详情
winForm问题自定义control问题
a569673493
2009-11-23 03:47:08
我自定义了一个control,给它定义了一个属性A——是一个List<someClass>,编译后在窗体中使用它,编译成功,然后再打开窗体设计器,出错了,然后我把control的自定义属性拆分改成get()和set()两个方法,重新画界面就OK了,这是为什么啊?我以前用control的时候也给它定义过属性的,也没有出错?
...全文
109
6
打赏
收藏
winForm问题自定义control问题
我自定义了一个control,给它定义了一个属性A——是一个List,编译后在窗体中使用它,编译成功,然后再打开窗体设计器,出错了,然后我把control的自定义属性拆分改成get()和set()两个方法,重新画界面就OK了,这是为什么啊?我以前用control的时候也给它定义过属性的,也没有出错?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hiddkiller
2009-11-24
打赏
举报
回复
先弄清楚 属性 和 字段.
a569673493
2009-11-24
打赏
举报
回复
哦 thank you
a569673493
2009-11-24
打赏
举报
回复
找到处理方法了,在自定义control的load时间加一句代码,就OK,但是具体的原因还是不晓得啊
if(designmode)
{
return;
}
assky124
2009-11-23
打赏
举报
回复
List <someClass>
在类的构造函数中是否初始化过。
自动生成的代码好像会给属性一个默认值,具体的你要点开代码,自己分析下了。
Error_Code
2009-11-23
打赏
举报
回复
设计视图会调用控件的load()
设计视图会在load的时候加载属性但是不会调用方法
如果在load里面有其他参数之类的东西 窗体设计器就会出错
cicigl
2009-11-23
打赏
举报
回复
不清楚啊,有get,set才能赋值取值的只知道
WinForm
自
定义
下拉列表框用户控件
非常值得收藏,下载的源码资源: 1. 代码源自网络,并添加部分示例代码; 2. 自
定义
Combobx下拉框,支持基础控件下拉,也支持自
定义
控件下拉,扩展十分方便;
winform
下自
定义
textbox
定义
半透明自
定义
圆角大小等
继承
Control
的自
定义
textbox感谢某位高人的指点。 可以自己设置透明度、设置背景颜色、设置圆角大小、设置最大多少字符、设置显示的密码字符
C#
Winform
报表与打印技术——自
定义
报表的实现
本课程详细讲解在C#
Winform
程序里,对DataGridView展示的数据进行自
定义
报表格式的设计、预览、打印如何实现
c#
winform
user
control
用户控件传值
c#
winform
form页面点击按钮弹出用户控件,选择用户控件中的值并且赋给form页面上的控件
自
定义
winform
窗口标题栏
自
定义
winform
窗口标题栏 主要代码 public partial class ZForm : Form { private bool moving = false; private Point oldMousePosition; public new FormBorderStyle FormBorderStyle { get { return base.FormBorderStyle; } set { if (value != FormBorderStyle.Sizable && value != FormBorderStyle.SizableToolWindow) { titlepanel.
Control
s.Remove(button2); } base.FormBorderStyle = value; } } #region 隐藏父类的属性,使其不可见 [Browsable(false)] public new string Text { get { return titlelabel.Text; } set { } } [Browsable(false)] public new bool
Control
Box { get { return false; } set { base.
Control
Box = false; } } #endregion [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("窗体标题")] public string Title { get { return titlelabel.Text; } set { titlelabel.Text = value; } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("窗体标题字体样式")] public Font TitleFont { get { return titlelabel.Font; } set { titlelabel.Font = value; } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("窗体标题字体颜色")] public Color TitleColor { get { return titlelabel.ForeColor; } set { titlelabel.ForeColor = value; } } [Browsable(true)] [EditorBrowsable(EditorBrowsableState.Always)] [Description("窗体标题栏背景色")] public Color TitleBarBackColor { get { return titlepanel.BackColor; } set { titlepanel.BackColor = value; } } public new bool MaximizeBox { get { return titlepanel.Contains(button2); } set { if (!value) { titlepanel.
Control
s.Remove(button2); } else if (!titlepanel.Contains(button2)) { titlepanel.
Control
s.Add(button2); } } } public new bool MinimizeBox { get { return titlepanel.Contains(button3); } set { if (!value) { titlepanel.
Control
s.Remove(button3); } else if (!titlepanel.Contains(button3)) { titlepanel.
Control
s.Add(button3); } } } private void ResetTitlePanel() { base.
Control
Box = false; base.Text = null; SetToolTip(button1, "关闭"); button2.Size = button1.Size; SetToolTip(button2, "最大化或还原"); button3.Size = button1.Size; SetToolTip(button3, "最小化"); } private void SetToolTip(
Control
ctrl, string tip) { new ToolTip().SetToolTip(ctrl, tip); } public ZForm() { InitializeComponent(); ResetTitlePanel(); } private void Titlebutton_Click(object sender, EventArgs e) { Button btn = (Button)sender; switch (btn.Tag.ToString()) { case "close": { this.Close(); break; } case "max": { if (this.WindowState == FormWindowState.Maximized) { this.WindowState = FormWindowState.Normal; } else { this.WindowState = FormWindowState.Maximized; } break; } case "min": { if (this.WindowState != FormWindowState.Minimized) { this.WindowState = FormWindowState.Minimized; } break; } } } private void Titlepanel_MouseDown(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Maximized) { return; } //Titlepanel.Cursor = Cursors.NoMove2D; oldMousePosition = e.Location; moving = true; } private void Titlepanel_MouseUp(object sender, MouseEventArgs e) { //Titlepanel.Cursor = Cursors.Default; moving = false; } private void Titlepanel_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && moving) { Point newPosition = new Point(e.Location.X - oldMousePosition.X, e.Location.Y - oldMousePosition.Y); this.Location += new Size(newPosition); } } private void Titlepanel_DoubleClick(object sender, EventArgs e) { if (titlepanel.Contains(button2)) { button2.PerformClick(); } } private void titlepanel_
Control
Removed(object sender,
Control
EventArgs e) { switch (e.
Control
.Name) { case "button2": { if (titlepanel.Contains(button3)) { button3.Left = button1.Left - button1.Width; } break; } } } private void titlepanel_
Control
Added(object sender,
Control
EventArgs e) { switch (e.
Control
.Name) { case "button2": { if (titlepanel.Contains(button3)) { button3.Left = button2.Left - button2.Width; } break; } case "button3": { if (titlepanel.Contains(button2)) { button3.Left = button2.Left - button2.Width; } break; } } } }
C#
110,566
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章