|
■No67458 (haru さん) に返信 > C#歴2日の初心者です。よろしくお願いします。。メインクラスで作成したオブジェクトをフォームに貼り付けるときは > 例えば > Label lb = new Label(); > lb.parent =this; > というふうにかけますが,カスタムなクラスからオブジェクトを作成してメインクラスのフォームに貼り付ける > ことはできるのでしょうか? > > Class名.ActiveFormではないのですね。。。 > ご指導よろしくお願いします。 >
開発環境について示してください C# だけでは不足です。(少なくとも VisualStudio のバージョンとエディションとは書いてください) 0. 上手くいかないコードとはどこがどのようにうまくいかないのか説明してください。 ここをどうやればとしか書いていないので、何が上手くいかないのかは想像するしかありません 1. VisualStudio を使っていますか? 2. それとも直接エディターで *.cs を書いてコマンドラインからビルドしていますか? 3. もし VisualStudio をつかっているならどのプロジェクトを選びましたか? 4. Windows フォームアプリケーションでしたか?
5. あなたが言うメインクラスとは何を指していますか?(test ですか?, lbObject ですか?,それとも他の何かですか?) 6. あなたの言うカスタムなクラスとはどれですか? 7. また、クラス lbObject のコンストラクターで lb.Parent = test.ActiveForm; と書いていますが、この test は何者ですか? 8. test.ActiveForm のように用いるからには test は何かしらのフォームのつもりなんでしょうか? しかし、ActiveForm プロパティーは Form のスタチックなプロパティーですから特定のインスタンスとは無関係なので lb.Parent = Form.ActiveForm; のように使うのが普通だと考えます。ただ、このように書き換えても正しいコードにはなりませんが オンラインの msdn の解説位は検索できるようにしないと先が思いやられます。
これがあなたのやりたいことかどうかは判りませんが class lbObject : Label{ //ここに実装を書く this.Text = "ok"; } とすれば、 public test() { lbOjbect lb = new lbObject(); lb.Prent = this; } と書けるでしょう。
|