0

C# WinForm プロジェクトに問題があります。

私のプロジェクトでは、正方形を描画する関数があり、実行時にボタンを作成する関数があります。私がやりたいことは、ボタンが正方形に配置されることです。

2 つの配列を使用しようとしています。1 つは正方形の x 位置を取得し、もう 1 つは y 位置を取得します。

ボタンは x と y の位置に 1 列ずつ配置されますが、対角線上に配置されます。

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++;
    }
4

1 に答える 1

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;
于 2012-05-07T07:22:21.503 に答える