Я пытаюсь передать переменную (строку) в C # для особой задачи:
Обзор:
Я пишу плагин для купленной программыв моей компании.Программа (или лучше: поддержка программ) предоставляет пользователю базовый C # -код, который в основном просто открывает форму, и связывает программу с тем, что я записываю в коде форм.Так как это Visual-Studio-Solution, я получаю несколько файлов: «MyUserInterface.cs» и «MyUserInterface.Designer.cs».
«MyUserInterface.Designer.cs» определяет внешний вид моей формы, то естьНаиболее важные части для моей проблемы:
partial class MyUserInterface
{
[...]
private void InitializeComponent()
{
[...]
this.f_status = new System.Windows.Forms.Label();
this.SuspendLayout();
[...]
//
// status
//
this.f_status.Name = "status";
this.f_status.Text = "WELCOME TO MYPLUGIN v2";
[...]
this.Controls.Add(this.f_status);
this.ResumeLayout(false);
this.PerformLayout();
}
[...]
private System.Windows.Forms.Label f_status;
[...]
}
Самый важный код из "MyUserInterface.cs":
partial class MyUserInterface
{
[...]
public MyUserInterface()
{
InitializeComponent();
}
[...]
private void click_compute(object sender, EventArgs e)
{
//Basically everythings runs here!
//The code is opend in other classes and other files
}
}
Теперь, как я отметил в разделе кода, все моекод выполняется в функции "click-compute" и "передается" другим классам.
Одна важная часть моего кода находится в "statushandler.cs":
class statushandler
{
[...]
public static void status_msg(string c_msg)
{
[...]
f_status.Text = c_msg; // And here is my problem!!
[...]
}
}
Проблема:
В моем особом случае я пытаюсь изменить текст метки "f_status" при запуске моего кода с помощью функции "status_msg"!
ПокаЯ передаю переменные между классами несколько раз в моем коде.A не может понять, почему этот явный не может быть найден внутри "statushandler".(Это не проблема, пока я остаюсь внутри исходного "click_compute", не переходя в другой класс).
То, что я уже пробовал:
1.) Я попытался изменить практически все в "MyUserInterface" на "public",
2.) Также я попытался вызвать f_status
в status_msg, например MyUserInterface.f_status.Text
,
3.) ЗаписатьФункция получения / установки в «MyUserInterface. (Designer.) CS» (оба), что было катастрофическим, потому что я больше не мог определять метку в InitializeComponent.
4.)
a.) Прочтите множество Stackoverflow-Threads о передаче переменных между классами, что не помогло, все решения, которые я нашел, работают между классами, но не в этом особом случае.
b.) Посмотрел много учебных пособий youTube, тот же результат.
c.) Прочитал некоторые сообщения от stackoverflow о передаче переменных между различными формами, но у них всех было общее, что "display-form "был открыт после того, как переменная была известна.В моем особом случае форма все время открывается, ее нельзя ни закрыть, ни открыть ...
И теперь у меня нет идей!Я не удивлюсь, если я не увижу некоторые детали, но я не смогу их найти ... Я был бы очень рад, если бы кто-нибудь мог мне помочь!
Мой вопрос:
Как я могу изменить текст моей этикетки из другого класса?