如何更改属性网格中的行编号

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

我有一个显示类列表的属性网格

enter image description here

现在,当我单击树点时,它会打开此查看器

enter image description here

现在我需要将行编号从 0-13 更改为 1-14。 有什么办法可以做到吗?

如果没有,我可以在 0 添加一个虚拟类,但随后我将不得不向下滚动以隐藏第一个 0 元素

谢谢

enter image description here

c# list winforms propertygrid
1个回答
0
投票

这就是我解决这个问题的方法:

首先我识别所有元素的列表框,然后选择最后一个并滚动到底部

protected override CollectionForm CreateCollectionForm()
{
    CollectionForm form = base.CreateCollectionForm();
    lbx = (ListBox)form.Controls.Find("listBox", true).First();
    lbx.SelectedIndexChanged += Lst_SelectedIndexChanged;
    form.Height = 340; <-------------So that you hide the first element

    return form;
}
ListBox lbx;

private void Lst_SelectedIndexChanged(object sender, EventArgs e)
{
    lbx.SelectedIndexChanged -= Lst_SelectedIndexChanged;

    int visibleItems = lbx.ClientSize.Height / lbx.ItemHeight;
    lbx.TopIndex = Math.Max(lbx.Items.Count - visibleItems + 1, 0);
}
© www.soinside.com 2019 - 2024. All rights reserved.