Passing Values Between Windows Forms c# [duplicate]

You need to put loginData into a local variable inside the frmVoiceOver class to be able to access it from other methods. Currently it is scoped to the constructor:

class frmVoiceOver : Form
{
    private NewDataSet _loginData;

    public frmVoiceOver(NewDataSet loginData)
    {
        _loginData = loginData;

        InitializeComponent();
    }

    private void btnVoiceOverNo_Click(object sender, EventArgs e)
    {
        // Use _loginData here.
        this.Close();
        Form myFrm = new frmClipInformation();
        myFrm.Show();
    }
}

Also, if the two forms are in the same process you likely don’t need to serialize the data and can simply pass it as a standard reference to the form’s constructor.

Google something like “C# variable scope” to understand more in this area as you will encounter the concept all the time. I appreciate you are self-taught so I’m just trying to bolster that 🙂

Leave a Comment