winforms c#
private void MainForm_Load(object sender, EventArgs e)
{
dataBase.openConnection();
SqlCommand command = new SqlCommand(“SELECT * FROM cells_id_db ORDER BY[id]”, dataBase.GetConnection());
SqlDataReader reader = command.ExecuteReader();
int rowCount = 0;
while (reader.Read())
{
var id = reader[“id”].ToString();
var id_status = reader[“id_status”].ToString();
Button button = new Button();
button.Text = id;
button.Click += (sender, e) =>
{
Property_form propertyForm = new Property_form(id);
propertyForm.Show();
};
Проанализируй код. Есть ошибки в button.Click, пишет, что sender нельзя объявить в этой области.
csharp
while (reader.Read())
{
var id = reader["id"].ToString();
var id_status = reader["id_status"].ToString();
Button button = new Button();
button.Text = id;
string tempId = id; // Создаем временную переменную
button.Click += (sender, e) =>
{
Property_form propertyForm = new Property_form(tempId); // Используем временную переменную
propertyForm.Show();
};
}
В таком случае, переменная `tempId` будет доступна внутри лямбда-выражения и может быть использована для создания экземпляра `Property_form`. Теперь код должен работать корректно и ошибки не должно возникать.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет