page contents

c# tablelayoutpanel使用方法

本文讲述了c# tablelayoutpanel使用方法!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-05-avA0vQ9O627b0d5eb9cbe.png

本文讲述了c# tablelayoutpanel使用方法!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

一、利用TableLayoutPanel类展示表格,以10行5列为例

第1步:在前台创建一个panel,使TableLayoutPanel对象填充其内部。

第2步:创建TableLayoutPanel类,其实例对象名为table

  1. TableLayoutPanel table =newTableLayoutPanel();

第3步:设置列样式,循环显示行

  1. privatevoidForm2_Load(object sender,EventArgs e)
  2. {
  3. // 默认添加一行数据
  4. table.Dock=DockStyle.Top;//顶部填充
  5. panel1.Controls.Add(table);
  6. table.ColumnCount=;//5列
  7. table.Height= table.RowCount*;//table的整体高度,每行40
  8.  
  9. table.ColumnStyles.Add(newSystem.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, table.Width*0.2f));//利用百分比计算,0.2f表示占用本行长度的20%
  10. table.ColumnStyles.Add(newSystem.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, table.Width*0.2f));
  11. table.ColumnStyles.Add(newSystem.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, table.Width*0.2f));
  12. table.ColumnStyles.Add(newSystem.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, table.Width*0.2f));
  13. table.ColumnStyles.Add(newSystem.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, table.Width*0.2f));
  14.  
  15. for(int i =; i <=; i++)
  16. {
  17. AddRow("苹果"+i.ToString().PadLeft(,''),"橘子"+ i.ToString().PadLeft(,''),"香蕉"+ i.ToString().PadLeft(,''),"香瓜"+ i.ToString().PadLeft(,''),"甘蔗"+ i.ToString().PadLeft(,''));
  18. }
  19. }

第4步:设置每一行样式

  1. privatevoidAddRow(string apple,string orange,string banana,string casaba,string sugarcane)
  2. {
  3. try
  4. {
  5. // 动态添加一行
  6. table.RowCount++;
  7. //设置高度,边框线也算高度,所以将40修改大一点
  8. table.Height= table.RowCount*;
  9. // 行高
  10. table.RowStyles.Add(newSystem.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute,));
  11. // 设置cell样式,增加线条
  12. table.CellBorderStyle=TableLayoutPanelCellBorderStyle.OutsetPartial;
  13.  
  14. int i = table.RowCount-;
  15.  
  16. Label label1 =newLabel();
  17. label1.Text= apple;
  18. label1.Width=;
  19. label1.Height=;
  20. label1.Font=newFont("隶书",,FontStyle.Bold);
  21. label1.TextAlign=ContentAlignment.MiddleCenter;
  22. table.Controls.Add(label1,, i);
  23.  
  24. Label label2=newLabel();
  25. label2.Text= orange;
  26. label2.Width=;
  27. label2.Height=;
  28. label2.Font=newFont("隶书",,FontStyle.Bold);
  29. label2.TextAlign=ContentAlignment.MiddleCenter;
  30. table.Controls.Add(label2,, i);
  31.  
  32. Label label3 =newLabel();
  33. label3.Text= banana;
  34. label3.Width=;
  35. label3.Height=;
  36. label3.Font=newFont("隶书",,FontStyle.Bold);
  37. label3.TextAlign=ContentAlignment.MiddleCenter;
  38. table.Controls.Add(label3,, i);
  39.  
  40. Label label4 =newLabel();
  41. label4.Text= casaba;
  42. label4.Width=;
  43. label4.Height=;
  44. label4.Font=newFont("隶书",,FontStyle.Bold);
  45. label4.TextAlign=ContentAlignment.MiddleCenter;
  46. table.Controls.Add(label4,, i);
  47.  
  48. Label label5 =newLabel();
  49. label5.Text= sugarcane;
  50. label5.Width=;
  51. label5.Height=;
  52. label5.Font=newFont("隶书",,FontStyle.Bold);
  53. label5.TextAlign=ContentAlignment.MiddleCenter;
  54. table.Controls.Add(label5,, i);
  55. }
  56. catch(Exception ex)
  57. {
  58. MessageBox.Show(ex.Message.PadRight(,' '),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
  59. }
  60. }

查询某行某列数据

  1. privatevoid button1_Click(object sender,EventArgs e)
  2. {
  3. //查询第4行第4列数据,下标从0开始
  4. int i =;
  5. int j =;
  6. Label label =(Label)table.Controls[i *+ j];
  7. MessageBox.Show(label.Text);
  8. }


attachments-2022-05-GpsyP35Q627b0d0e0337c.png

修改某行某列数据

  1. privatevoid button2_Click(object sender,EventArgs e)
  2. {
  3. //修改第6行第1列数据,下标从0开始
  4. int i =;
  5. int j =;
  6. Label label =(Label)table.Controls[i *+ j];
  7. label.Text="已修改";
  8. label.ForeColor=Color.Red;
  9. }

attachments-2022-05-0czhfrfR627b0d23072a7.png

二、TableLayoutPanel控件属性

1.单元格画线使用CellBorderStyle属性

attachments-2022-05-5aGx3tIn627b0d329fd1c.png

2.合并单元格,例如一行一列和一行二列合并

首先在一行一列单元格内添加Panel控件,修改器属性ColumnSpan = 2 即可

attachments-2022-05-DqYxlikK627b0d4010133.png

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

  • 发表于 2022-05-11 09:12
  • 阅读 ( 2639 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1686 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章