簡體   English   中英

TableLayoutPanel 循環(C# 表單)

[英]TableLayoutPanel loop (C# forms)

我有 3x3 網格,每個單元格都有標簽,每個單元格都有文本“X”。 當我單擊其中一個標簽時,我希望它旁邊的一個和一個通過使用 foreach 控件循環(行和列)將文本更改為“O”。 有誰知道它會是什么樣子?

這當然不是一個完整的解決方案,但也許它會給你一個關於如何開始的想法。

要創建標簽,您肯定希望以編程方式執行此操作:

  for (int col = 0; col < table.ColumnCount; col++)
  {
    for (int row = 0; row < table.RowCount; row++)
    {
      Label lbl = new Label();
      lbl.Click += Lbl_Click;
      table.Controls.Add(lbl, col, row);
    }
  }

請注意,每個 label 的點擊事件都是相同的。 在該事件中,您可以獲得有關被點擊的 label 的信息:

private void Lbl_Click(object sender, EventArgs e)
{
  Label lbl = (Label)sender;
  int row = table.GetRow(lbl);
  int col = table.GetColumn(lbl);

  lbl.Text = "O";

  //This is just an example
  //This will throw an error if you click the rightmost cell
  Label lbl2 = (Label)table.GetControlFromPosition(col+1,row);
  lbl2.Text = "O"; 

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM