2

我正在创建一个基于 winform 的桌面应用程序,并Datagridview用于填充数据。

checkbox在标题列之一中使用。表格很安静,可以放入屏幕,并且正在使用滚动条在水平和垂直方向上移动。

checkbox需要随着滚动条的移动而移动。然而,问题是它仍然是静态的。

知道如何锚定它,以便当滚动条移动时,复选框会相应移动。在此处输入图像描述

谢谢

编辑 :

自动生成的设计器代码:

            this.checkheader.AutoSize = true;
            this.checkheader.BackColor = System.Drawing.Color.White;
            this.checkheader.FlatAppearance.BorderColor = System.Drawing.Color.White;
            this.checkheader.Location = new System.Drawing.Point(49, 96);
            this.checkheader.Name = "checkheader";
            this.checkheader.Size = new System.Drawing.Size(15, 14);
            this.checkheader.TabIndex = 21;
            this.checkheader.UseVisualStyleBackColor = false;
            this.checkheader.CheckedChanged += new System.EventHandler(this.checkboxHeader_CheckedChanged);
        // 
4

1 回答 1

0

您可以使用 datagridview 'scroll'-event 来执行以下操作:

private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
    {
        if (e.ScrollOrientation.Equals(ScrollOrientation.HorizontalScroll))
        {
            checkBox1.Location = new Point(checkBox1.Location.X - (e.NewValue - e.OldValue), checkBox1.Location.Y);
        }
        if (checkBox1.Location.X < dataGridView1.Location.X + 40)
        {
            checkBox1.Visible = false;
        }
        else
        {
            checkBox1.Visible = true;
        }
    }

迟到总比不到好 ?

于 2013-07-24T12:20:15.213 回答