Tag: 边界

错误:索引超出了数组的范围。

我知道问题是什么,但我很困惑我的程序如何输出一个超出数组的值。 我有一个0到8的整数,这意味着它可以保持9个整数,对吗? 我有一个int,检查以确保用户输入值是1-9。 我从整数中删除一个(像这样) if (posStatus[intUsersInput-1] == 0) //if pos is empty { posStatus[intUsersInput-1] += 1; }//set it to 1 然后我自己输入9并得到错误。 它应该访问数组中的最后一个int,所以我不明白为什么我会收到错误。 相关代码: public int[] posStatus; public UsersInput() { this.posStatus = new int[8]; } int intUsersInput = 0; //this gets try parsed + validated that it’s 1-9 if (posStatus[intUsersInput-1] == 0) //if i input 9 […]

将可见性属性绑定到变量

我在Window内有一个带Label的Border , 我还有一个Variable : public bool vis = false; 如何将vis变量与边界Visibility属性绑定?

如何将Label放在Panel中心而不将Dock设置为Fill

我试图创建一个带有边框的自定义面板,其颜色可以更改,以便在某些条件下“突出显示”面板。 小组还需要通过案文传达某些信息。 为此,我在Panel中添加了一个Label。 我已尝试使用规定的方法对Label进行居中,但由于某种原因,它总是将它放在Panel的左上角。 我无法将Label的Dock设置为Fill,因为它掩盖了已创建的自定义边框。 所以我需要做到这一点,以便Label适合边框。 Label的Anchor设置为None,其位置为 new Point((ClientSize.Width – Size.Width)/2, (ClientSize.Height – Size.Height)/2); 自定义Panel的代码是: public class CustomPanel : Panel { public CustomPanel(int borderThickness, Color borderColor) : base() { SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true); BackColor = SystemColors.ActiveCaption; BorderStyle = BorderStyle.FixedSingle; Size = new Size(45, 45); Margin = new Padding(0); BorderThickness = borderThickness; […]