gpt4 book ai didi

c# - 将滚动条添加到 WinForms ComboBox

转载 作者:行者123 更新时间:2023-11-30 15:55:26 24 4
gpt4 key购买 nike

我在 Windows 窗体应用程序中有一个组合框,显示来自 MySQL 的特定数据。我 我只是想知道如何在我的 ComboBox 中添加水平滚动条,因为我的数据太长而无法显示?

最佳答案

If working with Windows Presentation Foundation (WPF):

ScrollViewer.HorizontalScrollBarVisibility Property

Gets or sets a value that indicates whether a horizontal ScrollBar should be displayed.

在此处添加 ScrollViewer.Horizo​​ntalScrollBarVisibility="Visible":

<ComboBox HorizontalAlignment="Left" Margin="60,44,0,0" VerticalAlignment="Top" Width="264" Height="72" ScrollViewer.HorizontalScrollBarVisibility="Visible"/>

例如:

enter image description here

或者您可以导航到对象的属性并在此处选择:

enter image description here

-------------------------------------------- --------------

If working with Windows Forms (WinForms):

如果下拉列表的长度是静态的,您只需将 DropDownWidth 设置为足够大的值以显示列表的完整长度。

enter image description here

例如,不做任何调整(文字被截断):

enter image description here

例如,调整(显示文字):

enter image description here

如果您需要动态设置宽度,请将以下代码放在您的 DropDown 事件处理程序中或将其设为私有(private)函数/方法调用:

ComboBox senderComboBox = (ComboBox)sender;
int width = senderComboBox.DropDownWidth;
Graphics g = senderComboBox.CreateGraphics();
Font font = senderComboBox.Font;
int vertScrollBarWidth =
(senderComboBox.Items.Count > senderComboBox.MaxDropDownItems)
? SystemInformation.VerticalScrollBarWidth : 0;

int newWidth;
foreach (string s in ((ComboBox)sender).Items)
{
newWidth = (int)g.MeasureString(s, font).Width
+ vertScrollBarWidth;
if (width < newWidth)
{
width = newWidth;
}
}
senderComboBox.DropDownWidth = width;

例如,动态宽度:

enter image description here

关于c# - 将滚动条添加到 WinForms ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48573024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com