关于winforms:在CheckBox中间定位控件

关于winforms:在CheckBox中间定位控件

Positioning controls in the middle of a CheckBox

这是我之前的问题"字体相关控制定位"的后续内容。这是尝试解决这个问题背后的真正问题,可能与我所询问的方式不同。

问题陈述示例:我想要一个复选框,上面写着"加载后按 调整价格",其中是一个数字---可以用NumericUpDown调整---和是"百分比"或"美元",由ComboBox选择。这将是一条线。

复杂性:我希望能够为所有这些控件更改我的字体(基本上将它们设置为System.Drawing.Fonts.MessageBoxFont,这是Windows XP上的Tahoma 8 pt和Vista上的Segoe UI 9 pt),而不会弄乱我的布局,使用我当前的Position -property - 设置范例不起作用。

更一般地说,我希望控件以与字体无关的方式动态布局,以便 NumericUpDown紧贴"by"和 ComboBox之间的空间,同样 ComboBox适用于 CheckBox和字符串"加载后"右侧。

每个人似乎都错过了这个部分:这些都嵌套在CheckBox中。因此,理想情况下,单击"加载后"字样应选中/取消选中该复选框,并在"加载后调整价格"周围绘制该高亮矩形。所以只是在末尾打一个额外的Label不起作用,因为它不会切换CheckBox;类似地,尝试通过连接这样的LabelClick事件来创建带状物不会产生所需的高亮矩形。

解决方案?在这一点上,我在想:

  • 重新思考问题,不知何故,可能有一个丑陋的解决方案,如两个单独的文本行:"加载后调整找到的价格"(CheckBox),"调整金额:"(NumericUpDownComboBox)。这真的很糟糕,因为我的选项框绝对是这种类型的选项(即示例中的类型),因此它的垂直大小至少会加倍。

  • 某种自定义控件? SplittableCheckBox

  • 某种具有TableLayout控制的魔法? (很确定这在"每个人似乎错过的部分都失败了。"

  • 放弃并返回MS Sans Serif,或统一使用Tahoma,或将Segoe UI与我的应用程序打包在一起,从而不尊重系统默认字体。

  • (新的,通过编辑)切换到WPF,如果有人可以说服我它完全支持这种情况。


  • 如果您有多个选项遵循此布局,为什么不创建用户控件? 用户控件将包含CheckBox,NumericUpDown,ComboBox和"加载后"标签。 您可以覆盖OnFontChanged,以根据使用给定字体呈现文本来调整控件的位置。 将EventHandler添加到Label以检查/取消选中CheckBox。

    至于将焦点矩形包围在所有控件周围,您应该能够在单击其中一个内部控件时为用户提供控件焦点。


    推荐阅读

      linux网卡加载命令行?

      linux网卡加载命令行?,系统,地址,代码,网络,设备,电脑,名称,网卡,技术指标,

      linux命令刷新加载?

      linux命令刷新加载?,系统,下来,工具,网上,命令,终端,环境变量,以下,文件,路

      linux命令怎么控制的?

      linux命令怎么控制的?,地址,工作,系统,标准,命令,电脑,基础,管理,灵活,网站,l

      linux控制台停止命令?

      linux控制台停止命令?,地址,工具,平台,网络,下来,电脑,状态,命令,程序,进程,L

      linux命令行字体大小?

      linux命令行字体大小?,系统,等级,图片,数字,工具,终端,字体,字符,图形界面,

      linux命令行字体颜色?

      linux命令行字体颜色?,系统,地址,电脑,颜色,界面,字体,关键字,字符,文本,命

      加载linux内核的命令?

      加载linux内核的命令?,系统,信息,地址,电脑,发行,设备,简介,平台,发展,基础,l

      linux加载没有的命令?

      linux加载没有的命令?,系统,服务,工具,信息,设备,标准,工作,命令,检测,代码,

      linux命令控制声卡?

      linux命令控制声卡?,软件,检测,设备,工作,声卡,官方网站,标准,电脑,情况,位

      linux作业控制命令?

      linux作业控制命令?,工作,系统,信息,地址,管理,命令,目录,大地,行业,术语,lin

      linux命令行修改字体?

      linux命令行修改字体?,系统,终端,字体,实时,适当,等级,工具,颜色,字符,窗口,l

      linux退出控制台命令?

      linux退出控制台命令?,地址,工作,命令,图片,管理,系统,目录,信息,标准,控制

      linux切换命令控制台?

      linux切换命令控制台?,工作,地址,系统,管理,命令,控制台,目录,信息,标准,代

      linux加大命令行字体?

      linux加大命令行字体?,工具,系统,软件,百度,电脑,数字,字体,终端,字符,里边,

      加载变量的linux命令?

      加载变量的linux命令?,工具,系统,名称,环境变量,环境,命令,用户,文件,变量,

      linux命令控制联网?

      linux命令控制联网?,网络,系统,地址,工具,命令,环境,密码,信息,情况,基础,使

      linux控制声音的命令?

      linux控制声音的命令?,系统,数字,数据,命令,暂停,代码,盘中,环境,首页,手机,l

      linux模块化加载命令?

      linux模块化加载命令?,软件,系统,设备,代码,信息,环境,适当,资料,网上,电脑,

      linux默认命令行字体?

      linux默认命令行字体?,系统,工具,等级,数字,百度,情况,代码,终端,字体,字符,l

      linux命令加载模块?

      linux命令加载模块?,设备,系统,工具,检测,信息,模块,内核,文件,命令,杂项,lin