- PR -

C#でForm以外のモジュールからのFormモジュールの呼び出し

投稿者投稿内容
Hasumi
ベテラン
会議室デビュー日: 2002/07/23
投稿数: 78
お住まい・勤務地: 神奈川・東京
投稿日時: 2004-09-03 17:37
Hasumiです。

引用:

脳味噌筋肉さんの書き込み(2004-09-03 16:47)より
コントロールをNewするんですか!・・これって画面を作り込むとダメなんですよね?


VS.NETのデザイナでFormにツールボックスからテキストボックスを追加して、
プロパティウィンドウでModifiersプロパティをpublicに変更して
コード:
static public void HogeHoge(FormHoge formHoge)
{
  formHoge.textBox1.Text = "";
}


とする。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-09-03 21:50
 なんか、ごっつい基本的なところをおろそかにしているような気がするんですけど…「それ知らんとプログラム組もうなんか、無茶ちゃうかぁ!」っちゅうところを。

 人に聞くんもええねんけど、もうちっと、前提知識っちゅうか、書籍やマニュアルに目を通しておくべきなんちゃうかなぁ。

> コントロールをNewするんですか!・・これって画面を作り込むとダメなんですよね?
> Class.HogeHogeの引数の書き方が分かりません(苦)
> 「型または名前空間名 'FormHoge' が見つかりませんでした」
> と怒られて質問に至っています。。。
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-09-04 01:48
諸農です。

引用:

Class.csからFormHogeを起動して、FormHoge上のボタンをクリックしてFormHoge上の
TextBoxをクリアしたいのですが、クリアのコードはClass.csに置きたいのです。。



今更ですが。。
別のクラスにあるメソッドに処理を委譲する方法です。

コード:
namespace FormDelegate
{
    delegate void MyTextClear(TextBox ATextBox);
    public class Form1:Form
    {
        public Form1(){//必要な初期化処理}
        private void button1_Click(object sender, EventArgs e)
        {
            MyTextClear mtc = new MyTextClear(MyClass.ClearText);
            mtc(this.textBox1);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            MyClass.ClearText(this.textBox1);
        }
    }

    public class MyClass
    {
        public static void ClearText(TextBox ATextBox)
        {
            ATextBox.Text = "";
        }
    }
}



オン書きなのでコンパイル通らないかも(^^;


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
かもがや
大ベテラン
会議室デビュー日: 2004/08/31
投稿数: 103
投稿日時: 2004-09-04 09:30
iStationさん、Hasumiさん、Jittaさん、Jubeiさん、レスありがとうございます。

有難く勉強させて頂きます。

スキルアップ/キャリアアップ(JOB@IT)