Csharp/C#教程:为什么我无法在Method中访问数据?分享


为什么我无法在Method中访问数据?

我目前正在尝试通过如下方法填充TableLayoutPanel

 private int _rowCount; public void InitPaths() { int c = 1; int a = 1; while (a < _PathRows.Length - 1) { var label = new Label(); // // Label - Format. // label.Dock = DockStyle.Fill; label.AutoSize = false; label.Text = _pfadZeilen[a]; label.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; label.Size = new System.Drawing.Size(22, 13); label.BackColor = System.Drawing.Color.Transparent; TableLayoutP.Controls.Add(label, 3, c); //Checkboxen Einfügen var cbox = new CheckBox(); // //Checkbox Format. cbox.Anchor = System.Windows.Forms.AnchorStyles.None; cbox.AutoSize = true; cbox.CheckAlign = System.Drawing.ContentAlignment.MiddleCenter; cbox.Name = "checkBoxPfad" + a; cbox.Size = new System.Drawing.Size(15, 14); cbox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; cbox.UseVisualStyleBackColor = true; TableLayoutP.Controls.Add(cbox, 0, c); a++; c++; } this._rowCount = BibTable.GetRowHeights().Length; // which seems to be Holding the value only within the method } 

然后通过以下方法删除Action上的所有行:

 public void RemoveRows() { for (int row = _rowCount; row >= 0; row--) { BibTable.RowStyles.RemoveAt(row); BibTable.RowCount--; } } 

现在的问题是,如果我尝试对所有行初始化的方法之外的TableLayoutP做任何事情,它会告诉我:

对象引用未设置为对象的实例。

我能做什么? 有没有办法在方法中获取方法(我在意识到在输入时听起来有多愚蠢)或者其他任何方式来处理这种情况?

您正在通过GetRowHeights() ,返回每行的高度。 但是您要从RowStyles集合中删除与第RowStyles集合没有直接关系的集合。 我假设GetRowHeights()返回的行多于RowStyles

为什么不:

 BibTable.RowCount = 0; BibTable.RowStyles.Clear(); 

您正在通过GetRowHeights() ,返回每行的高度。 但是您要从RowStyles集合中删除与第RowStyles集合没有直接关系的集合。 我假设GetRowHeights()返回的行多于RowStyles

为什么不:

上述就是C#学习教程:为什么我无法在Method中访问数据?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 BibTable.RowCount = 0; BibTable.RowStyles.Clear(); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/999764.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐