@saylar
Разработчик Unity C#

Windows Forms, как мне достучаться до элементов формы с другого класса?

Допустим у меня есть вот такой Метод
public async void Updated()
        {
            if (!string.IsNullOrEmpty(UpdateMagazinTB.Text) && !string.IsNullOrWhiteSpace(UpdateMagazinTB.Text) &&
                !string.IsNullOrEmpty(StoreNameTB.Text) && !string.IsNullOrWhiteSpace(StoreNameTB.Text))
            {


                SqlCommand sqlCommand = new SqlCommand("UPDATE [Stores] SET [StoreName]=@Name WHERE [StoresId]=@Id", sqlConnection);

                sqlCommand.Parameters.AddWithValue("Id", UpdateMagazinTB.Text);
                sqlCommand.Parameters.AddWithValue("Name", StoreNameTB.Text);

                await sqlCommand.ExecuteNonQueryAsync();
            }
        }


Он обновляет в базе данных информацию о Магазине по его ID.
Информация собственно берется из элемента Формы (TextBox).
Так вот, в чем суть вопроса, как я могу этот метод сделать через Интерфейс реализовав его в другом классе, после чего этот метод передать в основной класс обработчика формы?
Я как уже не пробовал делать, что только не придумывал, но все стопорится на том, что из другого класса я ни как не могу достучаться до Элементов Формы (Windows Forms).
Есть ли какой то способ работать с элементами формы из других классов?
  • Вопрос задан
  • 1365 просмотров
Пригласить эксперта
Ответы на вопрос 1
Xardch
@Xardch
Смените у TextBox свойство Modifiers на public, затем в методе, который должен получать значение TextBox, передавайте экземпляр формы и через неё получайте значение

public void ShowTextBoxValue(Form1 form)
{
    MessageBox.Show(form.textBox1.Text);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы