-1

私がやりたいのは、ボタンクリックイベントから同じファイル内の別のクラスに2つの変数を渡すことです。

これが私のコードです:

Settings.cs(Windowsフォームファイル)

namespace ShovelShovel

public partial class Settings : Form
{
    public Settings()
    {
        InitializeComponent();
    }

    public void button1_Click(object sender, EventArgs e)
    {
        SetWindowSize.SaveData(textBoxWidth.Text, textBoxHeight.Text);
    }
}
}
}

SetWindowSize.cs(クラスファイル)

namespace ShovelShovel

class SetWindowSize
{
    public static void SaveData(string width, string height)
    {          
        using (BinaryWriter binaryWriter = new BinaryWriter(File.Open("file.dat", FileMode.Create)))
        {
                binaryWriter.Write(width, height);
        }
    }
}
}

SetWindowSize.csで、とからテキストを取得したいと思いSettings.widthます。Settings.heighttextBoxWidthtextBoxHeight

変えられない

public void button1_Click(object sender, EventArgs e)

それ以外の場合は、フォームの機能が損なわれるため、どうすればよいかわかりません。

4

2 に答える 2

2

SetWindowSizeクラスに新しいメソッドを追加し、button1_Clickから呼び出します。

public static class SetWindowSize
{
    public static void SaveData(string width, string height)
    {
        File.WriteAllText("file.dat", string.Format("height: {0}, width: {1}.", height, width));
    }
}    

そしてボタンクリック

public void button1_Click(object sender, EventArgs e)
{
    SetWindowSize.SaveData(textBoxWidth.Text, textBoxHeight.Text);
}
于 2012-12-10T06:06:45.377 に答える
0

ボタンクリックイベントハンドラーのシグネチャを変更する必要はありません。また、他のクラスがその関数を呼び出すことはできません。ボタンクリックイベントハンドラーは、のインスタンスを作成しSetWindowSizeて呼び出す必要がありますWriteWriteボタンクリックハンドラーから2つの文字列を渡すために、パラメーターを追加できます。

于 2012-12-10T06:06:58.277 に答える