Combobox下拉列表位于窗口屏幕下方。

时间:2012-04-18 13:23:34

标签: c# .net winforms

我正在使用DatagridView,其中我有16行,每行中都有一个组合框。当我试图在最底部的行中放下组合框时会出现问题,其中大约有20-30个项目。下拉列表中的滚动条消失,下拉菜单位于窗口屏幕区域下方。任何可能的解决方案,以便下拉列表打开到顶部。 Framework 2.0。

1 个答案:

答案 0 :(得分:1)

我无法复制此问题。我试着移动这个窗口并打开各种组合框。如果它不适合下拉,它会下降,因此完全在屏幕上。

using System;
using System.Linq;
using System.Windows.Forms;

class MainForm : Form
{
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new MainForm());
    }

    public MainForm()
    {
        string[] comboSource = Enumerable.Range(1, 30).Select(i => String.Format("Item #{0}", i)).ToArray();

        Controls.Add(new DataGridView
        {
            AutoGenerateColumns = false,
            Columns = { new DataGridViewComboBoxColumn { HeaderText = "Item", DataSource = comboSource }, },
            DataSource = comboSource, // just adding dummy items for effect
            Dock = DockStyle.Fill,
        });
    }
}

你能否制作一个类似的简单例子来复制问题?