有一种替代的方法。由于c#中的事件都是使用委托实现的,所以,本质上说即使不知道c#是否提供了这样的功能,我们也可以用最原始的代码模拟这样的功能。我创建的一个Combox,把它命名为selectFontSize,功能是选择字体的大小。在Combox中输入了字体的大小为6—14。当我按F5键之后,系统自动的为我生成了如下的代码。这些代码在Code Editor对话框中“#region Windows Form Designer generated code”可以找到。this.selectFontSize.Items.AddRange(new object[] {
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14"});
this.selectFontSize.Location = new System.Drawing.Point(120, 48);
this.selectFontSize.Name = "selectFontSize";
this.selectFontSize.Size = new System.Drawing.Size(216, 20);
this.selectFontSize.TabIndex = 3;
****this.selectFontSize.SelectedIndexChanged += new System.EventHandler (this.selectFontSize_SelectedIndexChanged);******这里面最关键的一条语句就是委托(*号扩起来)。它实现了调用更改下拉列表变化功能的函数。我的想法是,由于该委托使用了+=形式,所以这必定是一个多点委托。因此,按照多点委托“依次”调用委托列表中函数的操作方法,我们可以写一个自定义的委托函数,放在委托列表中。让系统调用完毕更改下拉列表的函数,就自动调用自定义函数,那么此时下拉列表肯定是被收回了。这只是我的想法,我会具体操作一下。不成熟,仅供参考。
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14"});
this.selectFontSize.Location = new System.Drawing.Point(120, 48);
this.selectFontSize.Name = "selectFontSize";
this.selectFontSize.Size = new System.Drawing.Size(216, 20);
this.selectFontSize.TabIndex = 3;
****this.selectFontSize.SelectedIndexChanged += new System.EventHandler (this.selectFontSize_SelectedIndexChanged);******这里面最关键的一条语句就是委托(*号扩起来)。它实现了调用更改下拉列表变化功能的函数。我的想法是,由于该委托使用了+=形式,所以这必定是一个多点委托。因此,按照多点委托“依次”调用委托列表中函数的操作方法,我们可以写一个自定义的委托函数,放在委托列表中。让系统调用完毕更改下拉列表的函数,就自动调用自定义函数,那么此时下拉列表肯定是被收回了。这只是我的想法,我会具体操作一下。不成熟,仅供参考。
解决方案 »
- 请问一下winform中做出和word类似的任意样式表格,表格里可以有任意字段和输入框,如何设计?
- 请教一个C#排序问题!
- C#与ORACLE编码方式不一致
- C#时间转换问题....
- C#与sql server 2000 ;连接问题
- winform中如何动态改变嵌入在DataGrid列中ComboBox的內容?
- 在winform 下C#中如何获取当前执行程序的路径?
- HttpWebRequest.GetResponse()取不到内容
- 谁说说以下几个数据控件的配合使用情况!
- 请问:我要创建一个windows服务,里边要用到timer,每革一秒,执行某段程序一次,但是我不会用timer,谁可以帮帮我?特急寻呼!
- 一个C#与Oracle连接的程序
- 求救:怎样关掉excel.exe这个进程?
测试过,不存在这个问题