【问题标题】:Combobox format displays tab in textbox, not in dropdown [duplicate]组合框格式在文本框中显示选项卡,而不是在下拉列表中[重复]
【发布时间】:2014-04-07 19:30:30
【问题描述】:

我有一个Province 对象,具有ProvinceCodeProvinceName 属性。我想在 Visual Webgui(基于 Winforms)组合框中显示两者,它们之间有一个选项卡。

我正在使用 PropertyChanged - Format 事件,正如 Eliran 对 this 问题的回答所建议的那样:

    private void Province_Format(object sender, ListControlConvertEventArgs e)
    {
        string provCode = ((Province)e.ListItem).ProvinceCode;
        string provName = ((Province)e.ListItem).ProvinceName;
        e.Value = provCode + "\t" + provName;
    }

当组合框被渲染时,选项卡在文本框区域正确显示,但在列表框区域显示为单个空格。

Winforms 组合框是否支持其列表框区域中的选项卡?

编辑:现在有足够的声望来添加图片。

【问题讨论】:

    标签: c# .net winforms user-interface combobox


    【解决方案1】:

    如果您的目标是严格的显示文本间距,那么实现此目的的最简单方法就是定义和使用您自己的“标签”:

    public const string TEXT_TAB = "    ";
    
    private void Province_Format(object sender, ListControlConvertEventArgs e)
    {
        string provCode = ((Province)e.ListItem).ProvinceCode;
        string provName = ((Province)e.ListItem).ProvinceName;
        e.Value = provCode + TEXT_TAB + provName;
    }
    

    【讨论】:

    • 谢谢,工作。但是,列表框区域会自动将连续的空格折叠成一个空格。需要将标签设置为一系列神奇的Alt+255 字符。
    • 我快速尝试验证并没有注意到崩溃。 /耸耸肩。巧妙利用隐形字符。
    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    相关资源
    最近更新 更多