winforms 有没有办法使输入成为全局的?

b91juud3  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(168)

我想在一个不同的类中使用textBox1.Text,而不仅仅是在定义了文本框的main中。有什么方法可以使它全局化吗?因为它只允许我在main中使用它,而不是在我必须在任务中创建的单独类中。
我需要将来自textBox的文本存储在一个不同类中的List中,这样用户就不能两次添加相同的名称,所以我需要记住第一次输入时键入的内容。
这是我创建一个List的类,我想在这里存储这些输入:
第一个
顺便说一下,这是WinForm

pu3pd22g

pu3pd22g1#

您的变量名称是另一种语言,因此很难理解,但我认为您需要这样做

internal class Clanovi
{
    public static List<Clan> Dodaj()
    {
        Global.clanovi.Add(new Clan() { KorIme = textBox1.Text, Lozinka = textBox2.Text });
        // you don't need to return this since it is already global
        return clanovi;
    }
}

public static class Global
{
    public static List<Clan> clanovi = new List<Clan>();
}

public static class Clan
{                                          
    public static string KorIme { get; set; }
    public static string Lozinka { get; set; }
}

无论何时要访问全局变量,都可以使用Global类和其中的静态项。

gg58donl

gg58donl2#

我建议:
1.请将文本框属性中的modifiers属性更改为public。
1.在另一个类中编写以下代码:

Form_name/class_name myTextbox = new form_name/class_name();

例如:
Form 1 myTextbox =新建Form 1();
1.现在你可以在任何其他类/形式中使用:mytextbox.Textbox.text.

internal class Clanovi
{
   Clan myTextbox = new Clan();

   public static List<Clan> Dodaj()
   {
     List<Clan> clanovi = new List<Clan>();
     clanovi.Add(new Clan() { KorIme = myTextbox.textBox1.Text, Lozinka = textBox2.Text });
     return clanovi;
   }
}

相关问题