доступ к функции в Program.cs, которая инициализирует мою форму Form1 из формы Form1 - PullRequest
2 голосов
/ 08 ноября 2010

Я создал приложение сервер / клиент и в своем клиентском приложении я инициализировал свое соединение в файле Program.cs, в котором я также инициализировал свое приложение формы. Как я могу, скажем, нажать на кнопку в моей форме и вызвать функцию в моем файле Program.cs?

Ответы [ 3 ]

2 голосов
/ 08 ноября 2010

Если вы сделаете метод статическим, вы можете просто вызвать его так:

class Program
{
    // ...

    public static void SendMessage(object obj)
    {
        // Send your message.
    }
}

Затем вызвать метод:

Program.SendMessage(whatToSend);
2 голосов
/ 08 ноября 2010

Поместить материал в Program.cs не рекомендуется, вместо этого вам следует создавать новые файлы.

Если вы хотите поместить его в Program.cs, просто добавьте туда метод, вам нужно сделать его static поскольку класс Program равен static.

Чтобы вызвать его из кнопки, просто дважды нажмите кнопку в конструкторе, и будет создан обработчик события.

private void button1_Click(object sender, EventArgs e)
{
    Program.YourMethod();
}

тот же принцип применяется, если вы поместите код в другой файл.Создайте пространство имен и класс в этом файле.

Если вы делаете класс / метод нестатичным (как вы обычно это делаете), вам также нужно создать экземпляр своего класса.

private void button1_Click(object sender, EventArgs e)
{
    var yourObject = new YourClass();
    yourObject.YourMethod();
}
2 голосов
/ 08 ноября 2010

Предполагая, что функция является общедоступной и статической, например,

public static void Foo()
{
    MessageBox.Show("foo");
}

Просто укажите такой код в событии нажатия кнопки:

Program.Foo();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...