MaterialSkin:获取下拉列表控件,并使单行文本框保持合理的大小

问题描述 投票:0回答:1

我正在更新由同事开发的应用程序,该应用程序使用 MaterialSkin v0.2.1。

我正在尝试添加下拉列表框。原始的 MaterialSkin 没有这些,但我在 NuGet 中尝试了一些不同的分支。然而,我的问题却无穷无尽。

其中有 MaterialSkin.2,它的 API 发生了很大的变化。其他一些似乎是这个的分支。在API更改中,原始MaterialSkin具有MaterialSingleLineTextField,而MaterialSkin.2仅具有MaterialTextBox和MaterialTextBox2文本框类。不幸的是,这些控件的垂直填充量过多,并且高度分别锁定为 50 和 48。这太大了。我找不到任何方法可以将高度降低到更合理的值,例如原版中的 23。

到目前为止我尝试过的所有 MaterialSkin 版本都属于以下两个类别之一:

  • 具有原始 API,没有文本框大小问题,但没有下拉列表控件(这意味着我只能使用标准 Winforms 组合框,从而创建不一致的 L&F)
  • 有更改的API并有下拉列表控件,但有文本框大小问题

对于第二类,我无法将高度降低到合理的水平。我还没有找到一个具有下拉列表控件并且没有文本框大小问题的控件。

有人可以帮忙吗?

c# .net winforms look-and-feel
1个回答
0
投票

我们使用MaterialSkin.2(leocb、IgnaceMaes、orapps44)(v2.2.1 - 2.3.1 对我们不起作用;太多重绘问题)。对于 MaterialSkin.2,文本框有一个选项“UseTallSize”。默认情况下,它是 TRUE - 默认高度为 50。当设置为 FALSE 时,高度为 36。不是您希望的 23,但比 50 更好。

此外,当为 TRUE 时,即使框中有文本,您也可以看到提示。如果为 FALSE,则如果盒子有内容,提示将被隐藏。

我对这套设置的主要问题是光标有时在文本框中不同步。因此,您会看到光标从其实际旁边的文本中移出一两个字符。好像有点随机。

我还要补充一点,下拉菜单只是简单的下拉列表。它们不是组合框。我还没有得到像自动完成这样的东西来与他们一起工作。因此,如果您需要真正的组合框,这将无法满足您的需求。

© www.soinside.com 2019 - 2024. All rights reserved.