C#中关于comboBox和TextBox

来源:百度知道 编辑:UC知道 时间:2024/06/02 05:10:20
我在窗体中加了个ComboBox并在它的Items属性中填加了"全部"两个字,然后又在窗体中加了一个TextBox,当窗体运行时 选择下拉列表中的"全部",然后TextBox变成只读状态,我写的是
id(comboBox1.text == "全部"){
textBox1.ReadOnly = true;
} 文本框没变化,请问怎么解决啊?

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedItem == "全部")
textBox1.ReadOnly = true;
}
刚才特意给你做了一个
可以运行~
接分

不会是IF没写对吧

comboBox1.selecteditem=="全部"试试

ComboxBox控件有一个设置自动回传的属性,好像是这个AutoPostBack="true";

默认情况下有些控件的事件是不自动回传的,要设置成自动回传。

象你这样在后台代码里面设置控件的属性,那么事件必须会传到服务器,服务器处理后在把处理结果发回到页面上,才会显示TextBox为只读。

假如用JS控制的话,那就不需要服务器处理了,直接在浏览器上就搞定了,但是现在你选择的是服务器端控制,所以必须回传。

你的明白?

拿5分好难啊,打这么多字。。。楼主速度给了吧

首先,你写错了 不是id 是if
其次 我告诉你 原因很可能是你那个下拉框默认的项是“全部”,如果你多加入几项,,这时再选不是默认的任何一项都行,再试试 肯定行

如果你的 value值也是一样的话,那就简单
直接用 if(comboBox1.selectedvalue=="全部")就OK了

如果非要用Text,那你可以试一下
if(((System.Data.DataRowView)(comboBoxEx1.SelectedItem)).Row[0].ToString()=="全部")