一些遇到的问题及解决方法:
- Label无法调整大小:Winform自带的Label大小根据内容来,以至于无法放到某一容器的中心位置。【解决方法】➡将其autosize属性设置为false之后就和Qt的Label一致可随意调整大小了。
- Combobox无法调整位置:Combobox在将Dock设置为Fill后会很奇怪地无法纵向铺满,而且始终处于容器的较为上方,竖直方向无法居中。【解决方法】➡将其Dock设置为none,使用Anchor就行。
- 点击按钮后会有一个蓝色的聚焦框或者拖动splitContainer的spliter后会出现spliter(分隔条)可见的问题。
【解决方法】➡
1、在相应的操作事件最后写上“某个无用控件.Focus()”,建议是Label、GroupBox等被聚焦无显示效果的东西。
2、//去除焦点 this.ActiveControl = null;
- textbox无法调整大小:【解决方法】➡将Multiline属性改为true。
- NumericUpDown:总是响应滚轮的操作:
【解决方法】➡//不要响应鼠标滚动 dpNumericUpDown.MouseWheel += new MouseEventHandler(NumericUpDown_MouseWheel); private void NumericUpDown_MouseWheel(object sender, MouseEventArgs e) { HandledMouseEventArgs h = e as HandledMouseEventArgs; if (h != null) { h.Handled = true; } }
一些要注意的地方
一、Dock的优先级
同一容器中各控件Dock的优先级与自动生成的界面文件中控件添加进容器的顺序有关,通俗地说:后ADD的控件会有更优先的权力靠边,就是如果按钮1先add,按钮2后add,然后两个都是Dock右边,那么按钮2会更靠右。
二、使代码仅在DEBUG模式下运行
#if DEBUG
//仅在DEBUG模式下运行的代码
#endif