c# - (C#) 垂直对齐 CheckedListBox 项的文本
问题描述
我有一个继承自CheckedListBox
Windows 窗体的类,它包含两个项目。问题如下:当我尝试增加 时ItemHeight
,高度会改变,但文本在边界框的左上角。
我希望它在该边界框的中心垂直对齐。我似乎找不到任何可以这样做的财产。我尝试像这样使用 DrawItem 事件
public MyCheckedList()
{
this.DrawMode = DrawMode.OwnerDrawVariable;
this.DrawItem += new
System.Windows.Forms.DrawItemEventHandler(this.OnDrawItem);
}
public override int ItemHeight
{
get; set;
}
public override DrawMode DrawMode
{
get; set;
}
public void OnDrawItem(object sender, DrawItemEventArgs e)
{
CheckedListBox list = (CheckedListBox)sender;
if (e.Index > -1)
{
object item = list.Items[e.Index];
e.DrawBackground();
e.DrawFocusRectangle();
TextRenderer.DrawText(e.Graphics, item.ToString(), list.Font, e.Bounds, list.ForeColor);
}
}
好吧,程序甚至没有进入OnDrawItem()
方法。我必须覆盖并使它们正常工作也很ItemHeight
奇怪DrawMode
。有没有其他方法?
解决方案
推荐阅读
- ios - Firebase 匿名登录 - 为什么 FirebaseID 在登录到 Facebook 时会发生变化,但在未登录到 Facebook 时保持不变?
- python - 如何在 spark textFile 函数中使用自定义换行符?
- azure - 将数据从 DB2 加载到 Azure SQL DB
- bash - 试图了解 Bash 文件设置/结构
- html - Angular 服务器端渲染 - 向 angular.json 添加什么?
- oracle - 尝试从 selenium 连接到 oracle DB 时出错
- swift - 从函数 Swift 获取通用类型 UIView
- c# - PDFLib set_graphics_option如何在fillcolor选项中传递颜色列表
- snowflake-cloud-data-platform - Snowflake 中具有两种不同时间戳格式的 CSV 文件
- visual-studio-code - 如何修复颜色更改节点终端(2019 年 10 月更新后的 Visual Studio Code)?