如何设置 ComboBox 下拉列表的高度或间距 .
2013-07-24 16:03
295 查看
ComboBox 的下拉列表部分总是很挤,看起不舒服,但是设置了 ItemHeight 没用,怎么办呢?
首先设置一个较大的 ItemHeight 值,比如 20;
然后设置 ComboBox 的 DrawMode 为 OwnerDrawVariable;
然后在 DrawItem 事件中实现如何代码:
[csharp]
view plaincopyprint?
private void ComboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Index < 0)
{
return;
}
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(ComboBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 3);
}
ItemHeight 是设置项的高度,但只设置它没用,为什么呢?因为默认的 DrawMode 决定了它不会有用,所以我们将 DrawMode 设置为 OwnerDrawVariable;然后再自己写 DrawItem 事件处理程序,最后一个参数决定了文字顶端要下移,让文字在选项的中间,看起来舒服些。
首先设置一个较大的 ItemHeight 值,比如 20;
然后设置 ComboBox 的 DrawMode 为 OwnerDrawVariable;
然后在 DrawItem 事件中实现如何代码:
[csharp]
view plaincopyprint?
private void ComboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Index < 0)
{
return;
}
e.DrawBackground();
e.DrawFocusRectangle();
e.Graphics.DrawString(ComboBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 3);
}
private void ComboBox1_DrawItem(object sender, DrawItemEventArgs e) { if (e.Index < 0) { return; } e.DrawBackground(); e.DrawFocusRectangle(); e.Graphics.DrawString(ComboBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 3); }
ItemHeight 是设置项的高度,但只设置它没用,为什么呢?因为默认的 DrawMode 决定了它不会有用,所以我们将 DrawMode 设置为 OwnerDrawVariable;然后再自己写 DrawItem 事件处理程序,最后一个参数决定了文字顶端要下移,让文字在选项的中间,看起来舒服些。
相关文章推荐
- 如何设置 ComboBox 下拉列表的高度或间距
- 设置ComboBox的下拉列表高度
- MFC 自绘listbox , 自绘ComboBox 下拉列表框 如何设置其列表项的高度和宽度?
- 在MFC中,设置ComboBox控件中下拉列表的高度
- Excel 如何 设置 下拉列表 下拉框
- 如何将c#中的Combobox下拉列表设为只读
- extjs combobox 仿百度查询功能,设置下拉列表宽度
- WinForm如何设置comboBox的高度而不改变字体
- 如何创建UIlabel,使label的高度随着内容的多少而变动并且可以设置行间距?
- 如何调整 CComboBox 下拉列表的高度
- 如何让ComboBox的下拉列表宽度自适应内容的宽度
- 如何设置comboBox下拉框的大小,并在下拉框中画上类式excel的表格???
- EXCEl中如何设置单元格的下拉列表及背景颜色设置
- 带有过渡效果的下拉列表,下拉的内容高度不一致且不确定如何办?
- 如何使已经有选中项的ComboBox在点击下拉箭头时,仍然默认从列表开始处显示,而不是跳到选中项的位置
- WinForm如何设置comboBox的高度而不改变字体
- VC中ComboBox下拉列表不显示数据或下拉表高度太小的问题
- 如何更改ComboBox下拉列表的文字颜色
- C#中如何使ComboBox不能输入,只能从下拉列表中选择
- C# 程序中如何向(DEV)ComboBoxEdit控件中添加下拉列表的值不使用数据绑定,就是使用代码添加