using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void MyButton()
{
Button b1 = new Button();
b1.Location = new System.Drawing.Point(this.ClientRectangle.Width / 2 - 200 / 2, this.ClientRectangle.Height / 2 - 100 /2);
b1.Size = new Size(200, 100);
b1.TabIndex = 0;
b1.Text = "Не нажимай на меня";
b1.UseVisualStyleBackColor = true;
b1.Click += new EventHandler(b1_click);
Controls.Add(b1);
}
public void b1_click(object sender, EventArgs e)
{
b1.Text = "Зачем нажал?";
}
private void Form1_Load(object sender, EventArgs e)
{
MyButton();
}
}
}
b1_click
нельзя использовать переменную b1
, т.к. она доступна только внутри функции MyButton
.Button b1
внутри класса, например перед public Form1()
. В функции MyButton
удалить Button
, чтобы осталось b1 = new Button();
.b1_click
использовать ссылку на кнопку, на которую нажали. То есть Button b = (Button) sender;
. Это позволит использовать функцию для любой кнопки, а не только для созданной в MyButton
.Button b = (Button) sender;
b.Text = "Зачем нажал?";