winform中combobox的问题

LingXX0103 2011-02-16 03:49:00
1:只有在点击下拉列表的箭头的时候,下拉列表才可以下拉。如果只是点击别的地方,只能选中,而不能下拉。
2:由于这个combobox在gridview中,如果从一个cell(用方向键)到这个combobox时候,也不可以下拉,只能选中。
请各位指点。如果说的不明白,我再解释一下。
...全文
77 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2011-02-16
  • 打赏
  • 举报
回复
当初始化时,要通过combobox的SelectedValueChanged事件获得combobox当前选中的value
如果你的初始化没有改变combobox的SelectedValue,自然就不会触发该事件.
如果仅仅是想在初始化时获取combobox的SelectedValue,可以通过this.comboBox1.SelectedItem.ToString().
但要考虑SelectedItem可能为null

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
const int CB_SHOWDROPDOWN = 0x014F;
const int CB_GETDROPPEDSTATE = 0x0157;
private void comboBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyCode == Keys.Enter)
{
SendMessage(comboBox1.Handle, CB_SHOWDROPDOWN, 1, 0); e.Handled = true;
}
添加事件
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is DataGridViewComboBoxEditingControl)
{
(e.Control as DataGridViewComboBoxEditingControl).SelectedIndexChanged += new EventHandler(DataGridViewComboBoxEditingControl_SelectedIndexChanged);
}
}
private void DataGridViewComboBoxEditingControl_SelectedIndexChanged(object sender, EventArgs e)
{
}

}
dataGridView1.Rows[1].Cells[2].ReadOnly = true;
http://www.cnblogs.com/zoupeiyang/archive/2009/07/07/1518174.html
LingXX0103 2011-02-16
  • 打赏
  • 举报
回复
那么让combobox不能下拉的方法是什么呢?
enable=false是下拉列表内容字体变灰,但依然可以下拉。
有没有其他方法?
LingXX0103 2011-02-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lwp1493 的回复:]
DropDownStyle属性设置为DropDownList
[/Quote]
这个试过了 也不行
「已注销」 2011-02-16
  • 打赏
  • 举报
回复
DropDownStyle属性设置为DropDownList
机器人 2011-02-16
  • 打赏
  • 举报
回复
那就不好弄了。。。估计要重载 DataGridComboBox 做些处理。。。

帮顶吧。。。
LingXX0103 2011-02-16
  • 打赏
  • 举报
回复
现在用的就是ComboBoxColumn
效果是只要选中这个ComboBox 就下拉了。
机器人 2011-02-16
  • 打赏
  • 举报
回复
直接用 ComboBoxColumn 实现不了吗?我印象中就这个效果。。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧