私は Testing という名前のクラスと TitleScreen という名前のフォームを持っています。TitleScreen には、テキストをクラスに渡したい textBox1 があり、それを Form に戻し、textBox2 に渡します。
私は C# で基本的なことしかできないので、できる限り簡単にしようとすれば、それを行う方法を知っています。
あなたのクラスで:
public class Class1
{
public static string SeparateName(string fullName)
{
string[] wordsInText = fullName.Split(' ');
return wordsInText[0];
}
}
あなたのフォームで:
private void button1_Click(object sender, System.EventArgs e)
{
textBox2.Text = Class1.SeparateName(textBox1.Text);
}
「新しいユーザーを対象とした本またはチュートリアルを読むことを強くお勧めします。そうしないと、言語とフレームワークの理解に穴が開くことになります。」
フォーム上のコントロールを基になるオブジェクト (クラスのインスタンス) のプロパティにバインドするデータ バインディングの概念を確認することをお勧めします。
バインドにより、データをクラスからフォームにクロスロードして再度戻すコードを記述する必要がなくなります。代わりに、「テキスト ボックス 1 はクラスのこのプロパティにバインドされています」と言うことができます。次に、テキスト ボックスの値を更新すると、データはクラス インスタンスの選択したプロパティに自動的に配置されます。通常、クラスの保存メソッドを呼び出してデータをデータ ストア (データベースなど) に永続化する保存ボタンがあります。
フォーム上の複数のコントロールを基になるクラスの同じプロパティにバインドすることは完全に合理的であるため、この例では、textBox1 と textBox2 の両方をクラスの同じプロパティにバインドできます。次に、データバインディングを実装したら、textBox1 の値を変更すると、キーストロークごとに、またはフィールドが検証されたとき (通常はフォーカスを別のコントロールに移動したとき) に、値が textBox2 に自動的に反映されます。
これは、必要なすべてをカバーする Winforms バインディングに関するマイクロソフトのドキュメントです: https://msdn.microsoft.com/en-us/library/ef2xyb33(v=vs.110).aspx
テキストボックスの値に対して操作を実行し、結果を別のテキストボックスに出力したいようです。
型の引数を受け取るメソッド (関数) を記述しString
、そのメソッドで操作を実行できます。このメソッドはText
、テキストボックスのプロパティを結果に設定できます。
winforms プロジェクトでコードを入力する方法を尋ねている場合は、フォームの背景をダブルクリックしてそのコードにアクセスできます。(少なくとも Visual Studio では)
上記の提案を行う方法がわからない場合は、新しいユーザーを対象とした本またはチュートリアルを読むことを強くお勧めします。そうしないと、言語とフレームワークの理解に穴ができます。