そのテキストボックスからデータを取得し、編集したいと思っています。
Form1クラスから直接データを読みだすには上手く読めるのですが、
別のクラスからもForm1上に配置されているテキストボックスのデータを読み込んでデータを編集したいです。
試しにForm1から派生させてクラス作ってみましたが、別インスタンス?になってしまっているようで、
幾らデータを読み込んでも空白文字しか読み込めませんでした。
C++ですとウインドウハンドルを管理したクラスを作ってstaitc宣言し、
それを継承することでどこからでもコントロールにアクセスできるようにしていたのですが
C#でこういったことをするにはどうしたら良いでしょうか?
以下は幾らやっても空白文字を読んでしまうコードです。
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//テキストボックスが変更されたときにおこるイベント
private void textBox1_TextChanged(object sender, EventArgs e)
{
//此処でtextBox1も別インスタンスになってる?
GetStr gs = new GetStr();
gs.Get();
}
}
//textBox1にアクセスするためにフォーム1を継承したクラス
//Form1上のテキストボックスからデータを取得して、このクラスで処理を行いたい
class GetStr : Form1{
public string str;
public void Get(){
//Form1上のtextBox1からデータを取得するにはどうしたらよいか?
str = textBox1.Text;
}
}
}