gpt4 book ai didi

c# - 包含组合框窗口窗体的组合框项

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:03 24 4
gpt4 key购买 nike

我正在创建一个 Windows 窗体应用程序,我需要一个包含项目的组合框,每个项目打开另一个组合框,用户可以专门选择。

一个例子:我的组合框中有 2 个项目。丹麦语英语单词

当用户选择英文单词时,它会打开另一个组合框,用户可以在其中选择英文单词。

如何创建这种组合框?

**编辑:它不需要组合框,只是达到相同结果的东西

问题图片:Combobox problem

最佳答案

试试这个代码:我创建了两个组合框,一个名为 language_CmbBx,另一个名为 words_CmbBx。我设置了 words_CmbBx.Visible = false;

 private void language_CmbBx_SelectedIndexChanged(object sender, EventArgs e)
{
this.Cursor = new Cursor(Cursor.Current.Handle);
words_CmbBx.Location = new Point(language_CmbBx.Location.X + language_CmbBx.Width, GetLocalMousePos().Y);
words_CmbBx.Visible = true;

}

这个方法是获取你的mouseposition或者你想要的selectedItem的位置:

    public Point GetLocalMousePos()
{
Point screenPos = Cursor.Position;
return this.PointToClient(screenPos);
}

唯一的问题是 ComboBox 不会保持打开状态,我还没有找到让它保持打开状态的方法。

正如我已经提到的,使用 ComboBoxes 很难达到你想要的效果,请尝试使用 ListBox:

    private void languages_LstBx_SelectedIndexChanged(object sender, EventArgs e)
{
this.Cursor = new Cursor(Cursor.Current.Handle);
words_LstBx.Location = new Point(language_LstBx.Location.X + language_LstBx.Width, GetLocalMousePos().Y);
words_LstBx.Visible = true;
}

相同的代码,更好的结果!

您可以在这里下载我的 VS2010 项目:http://www.abouchleih.de/projects/twocomboboxes.zip

关于c# - 包含组合框窗口窗体的组合框项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611233/

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