C# button控件里我想再给他加一个自定义的属性,可以吗?怎么做?

作者&投稿:黎荀 (若有异议请与网页底部的电邮联系)
C#我想在按钮添原有属性的基础上多加属性,该怎么弄~

有两种 方法可以:
1:做一个自定义控件,然后可以定义新的属性,通过属性访问,可以实时改变或者触发各种事件!注意的事,自定义控制中也可以加入控制库中的各种控制.

2:C#中每种控件都有一个TAG属性,这个是obj类型的,可以把各种类型的变量,保存到控制 的tag属性中,通过触发 tag事件来改点控制状态。
希望能帮到你。

这里方法有很多,给你列举两种。
1、直接把Button1暴露出来。在自定义控件的窗体编辑器中,选择Button1,将它的Modifier属性设为Public。进入主窗体,写一个响应函数:
private void Button1_Click(object sender, EventArgs e)
{
button2.Text = "aa";
}
接下来在主窗体的New函数/Load事件里面绑定:
自定义控件1.button1.Click 加号= new EventHandler(Button1_Click);
这样就可以了。
2、让Button1操作主窗体。
在主窗体(假设为Form2)的窗体设计器里面,把button2的Modifier设为Public。然后到自定义控件中button1的Click事件中:
Form2 f2 = this.Parent as Form2;
f2.button2.Text = "aa";

上面两种方法都是将窗体和自定义控件耦合在了一起,如果你不追求完美的话这样就可以了。否则你还可以做个带事件的接口,让自定义控件实现它,单击button1触发这个事件,让窗体绑定。

可以,新写一个类继承自button,然后给新类自定义属性,即可。

新建Windows组件MyButton.cs,让它继承自 button。
后面就是你想要添加的属性即可

不明白什么意思。。。

继承 或者 委托


崂山区19625404841: C# button控件里我想再给他加一个自定义的属性,可以吗?怎么做? -
庾泥燕德: 可以,新写一个类继承自button,然后给新类自定义属性,即可.

崂山区19625404841: C#在同一个窗体内点击BUTTON控件在另一个控件显示信息,应该用什么控件显示信息?代码怎么写? -
庾泥燕德: 给button控件添加一个单击响应函数(最简单的方法双击button控件即可),在这个函数里面写 你要在另一个控件显示的内容 的代码.写好后运行,单击button控件就就能看到情况.你自己动手操作,不会的可以问.

崂山区19625404841: C#可以在一个控件里添加和删除另一个控件? -
庾泥燕德: 你这是WPF的吧,除了窗口,其他控件并无“关闭”一说.但可以移除子控件再添加新控件.比如,新建一个WPF程序,添加两个UserControl,默认Grid里面是第一个,如下 那后台代码里这样换成第二个 UserControl2 u2 = new UserControl2();//新内容 this.grid1.Children.Clear(); this.grid1.Children.Add(u2);

崂山区19625404841: c#里面,我在窗体弄了个 button,我想设置当点击它的时候退出关闭窗体,怎么设置? -
庾泥燕德: 可以直接用this.Close();//关闭当前窗体 或者: DialogResult dr=MessageBox.Show("确定退出系统吗?", "提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question); if(dr==DialogResult.Yes) {Application.Exit(); } else { return; } //看你是关闭主窗体还是当前窗体.如果是当前窗口,就用this.Close(); //Application.Exit();//用于退出主窗体(直接关闭软件)

崂山区19625404841: C# form1和form2,点击form2 的返回按钮,想要让form1再次Load,怎么实现 -
庾泥燕德: 在form1 后台代码里设置一个全局的布尔变量存储是否出发button事件的状态 button_click事件点击了一次后,将该全局的布尔变量的值改变,下次再单击该form1中button时判断布尔值是否已经改变,改变了说明不是第一次单击,就不需要弹出form2窗体了

崂山区19625404841: c#如何把所有的按钮控件删除,保留其他控件 -
庾泥燕德: 如果是删除所有的话,用foreach foreach(control con in this.controls){ if(con.getType().tosstring()=="System.windows.forms.Button") this.controls.remove((con) } 手写的,实际在程序里面写要注意大小写.

崂山区19625404841: C#winform中如何点击一个窗体的button,向另一个窗体动态添加picbox控件 -
庾泥燕德: 不建议将main作为参数传入其他子窗体,使用Owner属性即可 这样写:假设你在main窗体中这样打开adddesk窗体: Adddesk adddesk=new Adddesk(); //创建新的Adddesk窗体 adddesk.Owner=this; //使adddesk的所有者窗体为main ...

崂山区19625404841: C#中如何在不同的窗口的控件内传值!,急! -
庾泥燕德: 你先在主窗口里加一个方法 public void AddTreeNode(string nodeName){}; 功能是向treeView里加一个节点,节点名为nodeName.注意访问权限设为public 然后在弹出另一个窗口时将主窗口做为参数传递过去, From2 from2=new From2(this)...

崂山区19625404841: C#中如何通过单击一个窗体的按钮给另一个窗体的控件赋值 -
庾泥燕德: 建议用访问器来实现,例如点击Form1中的按钮,给form2中的label赋值 form2中先写好一个访问器: string txt; public string Txt { set{ txt=value;} } 在form1中的Button_click事件中写 form2 frm2=new form2(); frm2.Txt="xxx";(其中"xxx"表示你要赋的值,如果是别的格式的把上面的string改成相应的格式就好了) frm2.show(); 在form2_Load 事件中写: label1.text=txt; 这样就好了;这种方式同样适合不同窗体之间的传值; 上面那种方法没试过估计行,但是封装的不好;

崂山区19625404841: 怎样用C#窗体应用程序中的button控件.要让点击button时使另外一个控件显示出预先设定的数字 -
庾泥燕德: 在onclick事件中添加:response.redirect("login.aspx");//那个login.aspx就是你要跳转的页面,别掉了引号; 或者用:server.transfer("login.aspx");这样也可以 两个的区别就是前者把浏览器的地址栏地址给换成跳转的页面,后者还是在原来的页面

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网