DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.NETでAccessのサブフォーム的なこと。

環境/言語:[Windows2000, VB.NET2003, Framework1.1]
分類:[.NET]

いつも勉強させてもらっています。

VB.NETでAccessのサブフォーム的なことは出来ないでしょうか?

現在、TabControlの各tab上に、大量のコントロールを配置しています。

Windows フォーム デザイナで生成されたコードが6000行を超え、
さらに処理コードが6000行を超えています。

開発環境では、重すぎてなのか、コードの再フォーマット等、エディタも
自動でコードを生成してくれなかったりします。
(if xxx = 0 と打ったら、自動でthen、end ifが生成されたりされなかったりします。)

システムの仕様上、別フォームなどにもするわけにもいかず、できるだけ処理を
クラス等にしているのですが、それでも処理の多さゆえに、1つのフォーム内の
コードの量が莫大になってしまいます。

実際に起動や実行速度などもVB6と比べても格段に遅いように感じます。

何か改善案等ありましたら、よろしくお願いします。
2004/08/27(Fri) 21:36:16 編集(投稿者)

■No5834に返信(流星バナナさんの記事)
> いつも勉強させてもらっています。
>
> VB.NETでAccessのサブフォーム的なことは出来ないでしょうか?
>
> 現在、TabControlの各tab上に、大量のコントロールを配置しています。
>
> Windows フォーム デザイナで生成されたコードが6000行を超え、
> さらに処理コードが6000行を超えています。
>
> 開発環境では、重すぎてなのか、コードの再フォーマット等、エディタも
> 自動でコードを生成してくれなかったりします。
> (if xxx = 0 と打ったら、自動でthen、end ifが生成されたりされなかったりします。)
>
> システムの仕様上、別フォームなどにもするわけにもいかず、できるだけ処理を
> クラス等にしているのですが、それでも処理の多さゆえに、1つのフォーム内の
> コードの量が莫大になってしまいます。
>
> 実際に起動や実行速度などもVB6と比べても格段に遅いように感じます。
>
> 何か改善案等ありましたら、よろしくお願いします。

流星バナナさん、こんばんは。
本格的なサブフォームはありませんが、サブフォームみたいな事はできますよ。
方法として色々ありますが、まずは、
http://dobon.net/vb/dotnet/form/formwithinform.html
を理解してください。そしたら、おのずと、サブフォームにする方法が閃くはずです。
もしくは、サブフォームの様なカスタムコントロールを作るという方法もあります。

> Windows フォーム デザイナで生成されたコードが6000行を超え、
> さらに処理コードが6000行を超えています。
これは、さすがに無理がありませんか?
メソッドクラスやカスタムコントロールを作るなりしてコンパクトにした方がよさそうですね。

> 実際に起動や実行速度などもVB6と比べても格段に遅いように感じます。
そうですかね?逆にVB6よりも早いと感じるのは私だけでしょうか?
> 本格的なサブフォームはありませんが、サブフォームみたいな事はできますよ。
> 方法として色々ありますが、まずは、
> http://dobon.net/vb/dotnet/form/formwithinform.html
> を理解してください。そしたら、おのずと、サブフォームにする方法が閃くはずです。
> もしくは、サブフォームの様なカスタムコントロールを作るという方法もあります。
>
>>Windows フォーム デザイナで生成されたコードが6000行を超え、
>>さらに処理コードが6000行を超えています。
> これは、さすがに無理がありませんか?
> メソッドクラスやカスタムコントロールを作るなりしてコンパクトにした方がよさそうですね。
>
>>実際に起動や実行速度などもVB6と比べても格段に遅いように感じます。
> そうですかね?逆にVB6よりも早いと感じるのは私だけでしょうか?

回答ありがとうございました。
早速、教えていただいたページを見て、検証してみた結果、
問題を解決することが出来ました。

今回の場合は、各タブ上の共通している部分をカスタムコントロールにして、
後は別フォームに分け、それをメインフォームから呼び出すという形にしました。

まだプログラムの変更はしていないのですが、これでかなりスマートになると
思います。
勉強になりました。ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板