Палец вверх 0
Перевод
Перевод

вызов функции c # из класса

Теперь у меня есть текущий код MainUC.cs:

private void tsbNoviRacun_Click(object sender, EventArgs e)
{
    if (racunuc == null)
    {
        racunuc = new RacunUC();
        racunuc.Dock = DockStyle.Fill;
        Controls.Add(racunuc);
    }
    racunuc.BringToFront();

То, что я хочу сделать, это очистить код с главной страницы / формы. У меня есть 2 кнопки панели задач и 2 панели инструментов, которые вызывают одну и ту же форму (эта выше), поэтому я не хочу писать код 4 раза. Я пытался создать новый class.cs со свойствами и сделать это с возвращаемым значением, но это не сработало. Может ли кто-нибудь помочь мне с этим, или есть возможность вызвать тот же код на текущей странице / форме. Что-то вроде

private void tsbStariRacuni_Click(object sender, EventArgs e)
{
    call tsbNoviRacun();
}

«(это не работает, я знаю: р)

EDIT: Блин, спасибо, ребята!

c#
задан hidrra 22 февр. 2011 г., 20:52:10
источник

2 ответа

Палец вверх 3
Перевод
Перевод

В c # нет ключевого слова call для вызова функций. Вы просто вводите имя и все необходимые аргументы в круглых скобках.

private void tsbStariRacuni_Click(object sender, EventArgs e)
{
    tsbNoviRacun_Click(sender, e);
}
ответ дан Albin Sunnanbo 22 февр. 2011 г., 20:54:54
источник
Палец вверх 2
Перевод
Перевод

Это должно сделать это:

public void tsbNoviRacun()
{
    if (racunuc == null)
    {
        racunuc = new RacunUC();
        racunuc.Dock = DockStyle.Fill;
        Controls.Add(racunuc);
    }
    racunuc.BringToFront();
}

private void tsbNoviRacun_Click(object sender, EventArgs e)
{
    tsbNoviRacun();
}

Вы можете вызывать этот метод из всех обработчиков событий, на которых вы хотите его запускать. Очевидно, что эта функция зависит от Controls и DockStyle поэтому вы должны поместить ее в сферу этого.

ответ дан AndrewC 22 февр. 2011 г., 20:55:33
источник