- PR -

コントロールの追加について

1
投稿者投稿内容
WEIWEI
常連さん
会議室デビュー日: 2002/07/16
投稿数: 26
投稿日時: 2004-09-16 21:19
VB.NETで、フォームにコントロール(例えば、ラベルを継承しただけのコンポーネント)をForNext文でどんどん追加していくと、1万個弱のところでエラーが発生します。エラー内容は

'System.ComponentModel.Win32Exception' のハンドルされていない例外が system.windows.forms.dll で発生しました。

追加情報 : ウィンドウのハンドルを作成中にエラーが発生しました。

というものでした。
調べたところ、メモリーが不足している状況でもなく、乏しい私の知識から理由がわかりませんでした。
何が原因なのか、もっとコントロールを追加できる方法はあるのか、わかる方教えてください。
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-09-16 23:01
引用:

何が原因なのか、



リソース不足です。
GDI オブジェクトは限りある資源なのです。

引用:

もっとコントロールを追加できる方法はあるのか、



基本的にありません。
Excel にしたって、セルの数分エディットボックスをずらっと並べて実装されているわけではありません。
同時に無数のコントロールを使わないで済むように工夫しましょう。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
WEIWEI
常連さん
会議室デビュー日: 2002/07/16
投稿数: 26
投稿日時: 2004-09-17 01:32
ひどりさん、早速の返答ありがとうございます。
詳しいことはわかりませんが、プログラミングで工夫をするということで、もう一度勉強しなおします。確かに、コントロール数が増えれば増えるほど、急激にパフォーマンスが低下し、使い物になりません。できるだけ減らすように努力してみます。
どうもありがとうございました。
1

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