Задать вопрос

Как в C# сделать метод доступный для любой формы?

Всем привет. Есть форма 1 - в ней есть метод
void randGetWord()
        {
            int countRow = dataGridView.Rows.Count;
            Random rnd = new Random(); // выбор рандомной строки и взятие значения из 1-го столбца (слово на английском)
            dataGridView.Rows[rnd.Next(0, countRow)].Selected = true;

            columnEngWord = dataGridView.SelectedCells[1].Value.ToString();
            columnTranscription = dataGridView.SelectedCells[2].Value.ToString();
            columnRusTranscription = dataGridView.SelectedCells[3].Value.ToString();
            columnRusWord = dataGridView.SelectedCells[4].Value.ToString();
            columnDescription = dataGridView.SelectedCells[5].Value.ToString();
            columnLink = dataGridView.SelectedCells[6].Value.ToString();
        }


На второй форме хочу использовать этот же метод, но если у метода ставлю public static void randGetWord(), то появляются ошибки вида:

Error CS0120 An object reference is required for the non-static field, method, or property 'mainForm.dataGridView'

Видел методику через классы, но пока не очень понятно как ее применить ((( Как исправить??? Спасибо.
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
var form = new StForm(this);
form.Show();

В дочерней форме

(Parent as ParentForm).randGetWord()
Ответ написан
Ваш ответ на вопрос

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

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