C#contextmenustrip长度问题 右键快捷菜单上的文字不能完全显示
2010-07-26 21:23 kwjlk 阅读(1261) 评论(2) 收藏 举报
private void Form1_Load(object sender, EventArgs e){
}
下面的代码都在上面的FormLoad方法中添加。(一个vs2005新建的窗体项目)
代码一:
代码
ContextMenuStrip cms = new ContextMenuStrip();
ToolStripButton btn1 = new ToolStripButton("中国计量学院");
cms.Items.Add(btn1);
this.ContextMenuStrip = cms;
此段代码执行后,右键菜单中的”中国计量学院“只能显示出“中国计量”。貌似右键菜单长度不够?
效果:

代码二:
代码
ContextMenuStrip cms = new ContextMenuStrip();
ToolStripButton btn1 = new ToolStripButton("中国计量学院");
ToolStripButton btn2 = new ToolStripButton("");
cms.Items.Add(btn1);
cms.Items.Add(btn2);
this.ContextMenuStrip = cms;
此段代码执行后,右键菜单显示出中国计量学院,同时中国计量学院下有一个空的菜单。
效果:

代码三:
代码
ContextMenuStrip cms = new ContextMenuStrip();
ToolStripButton btn1 = new ToolStripButton("中国计量学院");
btn1.Width =100;
cms.Items.Add(btn1);
this.ContextMenuStrip = cms;
代码四:
ContextMenuStrip cms = new ContextMenuStrip();
ToolStripButton btn1 = new ToolStripButton("中国计量学院");
cms.Items.Add(btn1);
btn1.Width = 100;
this.ContextMenuStrip = cms;
代码执行后,中国计量学院完美显示出来了。
代码三、四效果:

结后语:为什么会出现上面的情况。只添加一个菜单时。右键菜单宽度不能根据显示内容动态改变。而添加多个时则显示正常。同时,如果手动设置某一菜单项(例如ToolStripButton)的宽度,则右键菜单的宽度会相应扩展。这个是什么原因呢?

浙公网安备 33010602011771号