题
我有已启用=假的组合框。如果是这种情况下,它会引起遮荫到灰色。我在想,如果有一个这样我可以保持复选框的背景颜色为玉米穗黄而没有启用呢?
的情况是,我有一个表格,我将与数据时,选择的项目刷新。如果用户选择要编辑的记录启用的形式接受改变,因为它主要是文本框,我只是改变那些只读属性。但是,组合框看起来不一样,所以我想看看我能做些什么,使之保持不变等形式的休息...
任何想法?
解决方案
我会简单地用一个TextBox在它隐藏它和它的Visible属性设置为false。然后,用户单击编辑按钮,你隐藏你的文本框,并与它的Visible属性设置为true显示您的组合框。
也许你希望通过在SelectedItemChanged()事件处理它的值设置为ComboBox.SelectedItem属性值来更新您的TextBox.Text属性。
让我们假设以下几点:
ComboBox cb = new ComboBox();
// Position, size and other properties are set through design.
cb.SelectedIndex = 0; // Forces selection of first item for demo purposes.
TextBox tb = new TextBox();
tb.Size = cb.Size;
tb.Position = cb.Position;
tb.Text = cb.SelectedItem.ToString();
tb.Visible = true;
tb.Readonly = true;
cb.Visible = false;
然后,点击编辑按钮:
private void EditButton_Click(...) {
tb.Visible = false;
cb.Visible = true;
}
,让您的TextBox.Text属性值按照您的SelectedItem:
private void ComboBox_SelectedIndexChanged(...) {
tb.Text = cb.SelectedItem.ToString;
}
和你只会做你EditButton_Click()事件处理带回你的形式只读模式相反。
其他提示
您可以考虑使用Jquery的UI或其他插件如果形式的美学是重要的。您可以控制整个外观和CSS的感觉。
与文本框隐藏组合框是由威尔建议的可能性,但是,那么你将不得不使用绝对宽度为下拉。
不隶属于 StackOverflow