C# winform 中如何实现如下的表格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 中如何实现如下的表格相关的知识,希望对你有一定的参考价值。

目的不是展示数据,而是实现类似多选的功能;
当然,可以用 CheckBox实现,但太麻烦了,数目比较多,而且选项的个数需要动态生成。
自己用 DataGridView 实现了:

具体代码在这里:
http://blog.csdn.net/lj22377/article/details/47024325

参考技术A

     /// <summary>

            /// 自动生成checkbox

            /// </summary>

            /// <param name="line">行数</param>

            /// <param name="col">列数</param>

            public void SetCheckBox(int line,int col)

           

                CheckBox ck = null;

                for (int i = 0; i < line; i++)

               

                    for (int j = 0; j < col; j++)

                   

                        ck = new CheckBox();

                        ck.Location = new Point(13 * (j), 13*(i));

                        ck.Size = new System.Drawing.Size(13, 13);

                        ck.Name = "ck" + i + j;

                        ck.Text = "";

                        this.Controls.Add(ck);

                   

               

           

追问

非常感谢,我想过这样实现。
但这样会显得界面很凌乱,图片中的表格效果会比较好。

参考技术B 使用datagridview追问

怎么样实现多选的效果?

追答

选择一个,改变一个单元格的背景色,同时在后台设置一个数组记录下已选择的单元格坐标,取消选择,则变回原来的颜色,同时在数组中将已记录的坐标删除。

或者,你看看有没有如下属性
设置datagridview的MuiltSelect=true;

本回答被提问者采纳

以上是关于C# winform 中如何实现如下的表格的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform 要实现如图这样的表格,怎么做?

在C#中如何实现winform窗体的全屏截图功能

C# Winform中如何实现窗体之间的跳转

C# WinForm中,当验证一个textBox的输入内容,然后弹出提示信息,如下图: 请问各位大牛,如何实现?急!

C# WinForm 自定义控件如何实现动态添加子控件

C# winform 日历控件的日期显示格式