如何使用另一个类的变量

时间:2014-03-22 20:56:45

标签: c# .net visual-studio-2010 class variables

好的,我们走了。我对编程和C#有点新,但我正在学习John Sharp的 Visual C#:Step By Step 一书。 (我想知道这个家伙的名字是否真的是夏普)

无论如何,我正在尝试创建一个可以帮助我转置音符的应用程序。这是一个Windows窗体应用程序,我使用两个类: form1.cs 所有代码发生的地方和 vars.cs ,其中存储了所有变量。

我的问题是我想使用字符串 vars.noteChosen 并使用 comboBoxNote 的当前所选项目(例如C)进行定义。但是,每当我执行此操作时,当我执行vars.noteChosen = comboNote.SelectedText;时,我得到一个“对象引用未设置为对象的实例”。错误。有任何想法吗? (comboNote是一个组合框)

这是 vars.cs

namespace Transposer
{
    class vars
    {
        public static bool rbTransposeUp = true;
        public static string noteChosen = ""; //
        public static string toTranspose = ""; // 
        public static int note = 0;
        public static string boxResultText = note.ToString();
    }
}

这是 form1.cs

的一部分
namespace Transposer
{
    public partial class Transposer : Form
    {
        public Transposer()
        {
            vars.noteChosen = comboNote.SelectedText;
            vars.toTranspose = comboNote.Text;
            InitializeComponent();
        }

...

我做错了什么?

1 个答案:

答案 0 :(得分:6)

在调用InitializeComponent();之后移动线条正是这个创建comboNote对象的调用。

那是

    public Transposer()
    {
        InitializeComponent(); // this constructs the comboNote
        vars.noteChosen = comboNote.SelectedText;
        vars.toTranspose = comboNote.Text;
    }