如何屏蔽ComboBox的DropDown事件

西瓜没有心脏 2004-03-26 09:07:07
就是点那个小箭头的时候不要弹出下拉列表(自己显示了一个多列控件)

高手指点,急用~
...全文
188 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
怎么给分,呵呵,给不给是你的心情,大家交流,当然你要给分的话用上面的那个"管理"就行了^_^
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
你可以在ondropdown里做,但是这样你没有办法不让那个小的下拉条不显示,要是想100%的做到自己满意你也可以重画那个小的按纽,当你按下的时候作按下状,会更好的.
西瓜没有心脏 2004-03-26
  • 打赏
  • 举报
回复
有没有别的办法,重载combobox的OnDropDown事件处理可以吗?
西瓜没有心脏 2004-03-26
  • 打赏
  • 举报
回复
怎么给分呢:)
eTopFancy 2004-03-26
  • 打赏
  • 举报
回复
学习
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
我给你代码就可以实现你要求的啊,我的就可以,当然了,你的combobox如果设成DropDownList就会单击前面的textbox时也会发像点按纽一样.这个msg要看积累了:)当然你可以在vc的头文件里查(不要告诉别人哟!)
西瓜没有心脏 2004-03-26
  • 打赏
  • 举报
回复
加了代码了,鼠标移到combobox附近时就起作用了,我只要click那个按钮时

还有,这个Message.Msg哪里查具体事件?
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
m.Msg ==515 WM_LBUTTONDBLCLK
m.Msg==256 keydown;
m.Msg ==513 leftbuttondown;
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
m.Msg == 256keydown;
m.Msg == 513leftbuttondown;
m.Msg == 515WM_LBUTTONDBLCLK
gdx 2004-03-26
  • 打赏
  • 举报
回复
hbxlhx:
我也想知道515代表的WM_是什么?确实去了DropDown
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
那个数分别是对键盘鼠标的消息的值,对应ComboBox的下拉事件
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
是没有响应,因为给去掉了,你可以在程序里加你想要的代码来处理你的自己的东东,你不写代码当然就什么也没有了:)
西瓜没有心脏 2004-03-26
  • 打赏
  • 举报
回复
m.Msg ==515||m.Msg==256||m.Msg ==513分别是什么,点那个箭头时不响应啊
HNU 2004-03-26
  • 打赏
  • 举报
回复

SAVE
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
我又看看了,按你的要求给你一个合适的,用类似下面的方法处理:
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg ==515||m.Msg==256||m.Msg ==513)
{
frmShow f = new frmShow();
f.ShowDialog(this);
return;
}
else
{
base.WndProc (ref m);
}
}
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
对不起,里面可能多写了几个消息,你去掉就行了
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
看如下的代码,试试看!!!(最好自己写一个Combobox自定义控件继承自Combobox,这个代码放到这个控件中)
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg==256 || m.Msg ==257||m.Msg == 675|| m.Msg ==514||m.Msg ==513||m.Msg ==512||m.Msg ==515)
{
//在这里放你的方法来处理就行了
return;
}
base.WndProc (ref m);
}
北京的雾霾天 2004-03-26
  • 打赏
  • 举报
回复
给你一个画的例子,这是我写的一个,不一定好用,我也不是高手,呵呵,你看看吧^_^,这个可能级给你一个新的思路:
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg ==515||m.Msg==256||m.Msg ==513)//m.Msg == 675mouseleave;512mousemove;m.Msg==256keydown;m.Msg ==257keyup;m.Msg ==514leftbuttonup;m.Msg ==513leftbuttondown;m.Msg ==515WM_LBUTTONDBLCLK
{
frmShow f = new frmShow();
f.Location=this.Location;
f.Show();
return;
}
base.WndProc (ref m);

if (m.Msg==0xf || m.Msg==0x133)
{
this.DrawBorder();
}
}
private void DrawBorder()
{
System.Windows.Forms.ControlPaint.DrawBorder(this.CreateGraphics(),new System.Drawing.Rectangle(1,1,this.Width-2,this.Height-2),this.m_BorderColorIn,this.m_BorderColorStyle);
System.Windows.Forms.ControlPaint.DrawBorder(this.CreateGraphics(),new System.Drawing.Rectangle(0,0,this.Width,this.Height),this.m_BorderColorOut,this.m_BorderColorStyle);
}
西瓜没有心脏 2004-03-26
  • 打赏
  • 举报
回复
我能改变那个按钮的样子吗?比如箭头改成"..." ?
西瓜没有心脏 2004-03-26
  • 打赏
  • 举报
回复
我要100%的满意,自己继承一个ComboBox,给很多人用的,不知道具体怎么重画,是不是重写DrawItem,该怎么写法,第一次上csdn发帖就遇到高手了
加载更多回复(1)
互联网产品经理在向技术部门递交产品策划方案时,除了详尽的需求阐述,一份清晰易懂的产品原型设计方案同样不可或缺。一份出色的原型设计,不仅能促进前期的深入讨论,更能让美工和开发人员更直观地理解产品特性,进而优化工作流程,减少不必要的时间消耗,提升整体工作效率。接下来,我想就产品经理与原型设计之间的关系进行简要的探讨,并期待能与大家进行深入的交流和探讨。 产品原型,简而言之,是产品设计最终成形之前的一个基础框架。对于网站而言,它意味着对页面模块和元素进行初步、大致的排版与布局。进一步讲,我们还会加入一些交互性元素,使原型更加具体、生动,更贴近最终产品的形态,从而帮助团队成员更好地理解和构建产品。 很多人存在一个误区,认为UI、UE设计师的职责就是将产品原型转化为具体的页面效果。然而,实际上他们的工作流程是在原型设计完成之后展开的。在整个产品开发流程中,产品经理是最了解产品特性、用户和市场需求的角色。尽管设计师在视觉设计方面可能表现得非常出色,但他们在理解产品、用户、市场及业务方面的深度与准确性上,往往无法与产品经理相提并论。准确地说,设计师的工作是将产品原型转化为产品经理所期望的视觉效果。

110,501

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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