[英]Foreach Loop of Controls in TableLayoutPanel (C# WinForms)
[英]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.