c# - 在 C# 中将 CheckBox 添加到 Datagridview header 并使用更改滚动条更改复选框的位置

标签 c# checkbox datagridview

我使用此代码在 Datagridview 的 header 中找到一个复选框。但是随着datagridview的滚动条的改变,复选框的位置发生了变化。

        // customize dataviewgrid, add checkbox column
        DataGridViewCheckBoxColumn checkboxColumn = new DataGridViewCheckBoxColumn();
        checkboxColumn.Width = 30;
        checkboxColumn.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
        dataGridView1.Columns.Insert(0, checkboxColumn);

        // add checkbox header
        Rectangle rect = dataGridView1.GetCellDisplayRectangle(0, -1, true);

        // set checkbox header to center of header cell. +1 pixel to position correctly.
        rect.X = rect.Location.X + 8;
        rect.Y = rect.Location.Y + 10;
        rect.Width  = rect.Size.Width;
        rect.Height  = rect.Size.Height;

        CheckBox checkboxHeader = new CheckBox();
        checkboxHeader.Name = "checkboxHeader";
        checkboxHeader.Size = new Size(15, 15);
        checkboxHeader.Location = rect.Location;
        checkboxHeader.CheckedChanged += new EventHandler(checkboxHeader_CheckedChanged);

        dataGridView1.Controls.Add(checkboxHeader);

喜欢这张照片:

enter image description here

最佳答案

这很容易。我使用这段代码并解决了它。

dataGridView1.Columns[0].Frozen = true;

关于c# - 在 C# 中将 CheckBox 添加到 Datagridview header 并使用更改滚动条更改复选框的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24764405/

相关文章:

c# - 如何从对象列表创建 xml 文件

C#、可访问性和只读

javascript - 如何在jquery中相应地用新值替换输入值

c# - 使用 "combobox with checkbox"在组合框中显示选中的项目

c# - DataGridView ToolTipText 未显示

c# - 随机生成敌人 XNA 4.0 (WP7)

javascript - 将 ul 的值获取到未隐藏的变量中

c# - 将集合绑定(bind)到 Windows 窗体中的 DataGridView

c# - Datagrid 添加时删除重复行

c# - 使用 protobuf-net 反序列化未知类型