如何放置我的按钮?

时间:2012-05-07 07:17:20

标签: c# winforms

我的C#WinForm项目有问题。

在我的项目中,我有一个绘制正方形的函数,我有一个在运行时生成按钮的函数。我想要做的是按钮将放在广场上。

我尝试使用2个数组;一个获取正方形的x位置,另一个获取y位置。

按钮在列中逐个放置在x和y位置,但是它们对角放置。

int[] locationx = new int[100];
    int[] locationy = new int[100];
    int monex = 0;
    int money = 0;
    private void DrawAllSquares()//z,k its many square its going to draw
    {
        int tempy = y;
        for (int i = 0; i < z; i++)
        {
            DrawingSquares(x, y);
            for (int j = 0; j < k - 1; j++)
            {
                locationy[money] = tempy;
                money++;
                tempy += 60;
                DrawingSquares(x, tempy);
            }
            x += 120;
            locationx[monex] = x;
            monex++;
            tempy = y;
        }

    }
        private void button2_Click(object sender, EventArgs e)
    {
                            Button myText = new Button();
            myText.Tag = counter;
            //changeplace();
            myText.Location = new Point(locationx[monex2], locationy[money2]);
            monex2++;
            money2++;
            buttonList.AddLast(myText);
            myText.Text = Convert.ToString(textBox3.Text);
            this.Controls.Add(myText);
            buttons[counter] = myText;
            myText.BringToFront();
            counter++;
    }

1 个答案:

答案 0 :(得分:1)

您需要将创建的按钮添加到表单控件集合。

private void button2_Click(object sender, EventArgs e)
{
    Button myText = new Button();
    myText.Tag = counter;
    myText.Location = new Point(locationx[monex2], locationy[money2]);
    Controls.Add(myText); // Assuming that handler 'button2_Click' is in your Form class.
    // rest of your code
 }

修改

Button myText = new Button();
myText.Click += button2_Click;