質問
Visual C++ でコントロールを配列にする方法
- 投稿日時:2008/07/09 21:46

VisualC++を使い始めて楽しさを覚え始めた頃ですが、壁にぶつかり解決できません。よろしくお願いいたします。
Windowsフォーム作成において、ボタンやラベルなど、ツールボックスからドロップできるコントロールを配列にする方法が分かりません。
ためしにボタンを二つは配置してから、Button1とButton2がButton[0]とButton[1]になるように定義から書き直してみましたが、
private: System::Windows::Forms::Button^ button[2];
の行で、
「: error C2728: 'System::Windows::Forms::Button ^ : ネイティブ配列はこのマネージ型を含むことはできません”」
とエラーがでます。
どうすれば、コントロールの配列を作れるのでしょうか。できるだけ簡単な方法(できればVisualC++の機能でGUIでサクッと作れれば良いのですが)をご教授願います。 過去の質問に似たものがありましたが、参照先のリンクが切れていました。。
回答 (2件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.2ベストアンサー20pt
- 回答日時:2008/07/09 22:33
array<Button^>^ button = gcnew array<Button^>(2);
ではダメですか?
この回答へのお礼
あ、できました!!!
ありがとうございます。
しかし、なぜデザイナでサクッとできないのか。。。
コントローラをマトリックス状に配置するとかのニーズは多いと思うのですが。。。
というわけで、もう少し締め切りを待ってみます。
No.1ベストアンサー10pt
- 回答日時:2008/07/09 22:21
うろ覚えで申し訳ないのですが
VC++でコントロールの配列をGUIでは作成できなかったような...気がします。Windowsフォームでコントロールの配列を扱う場合、フォームのメンバ変数か(なんでも良いんですが...)何かで、例えばButtonの配列を用意しておいて、フォームのプロパティから、Controls.Add とかでフォーム上に配置するような操作をしたような記憶があります。
(その場合配列の各要素のButtonコントロールごとに座標とかサイズとか設定してやる必要があったと思います。基本的に動的コントロールなので、どうしてもプロパティ関連はコーディング依存になってしまったかと)
(ちなみに:コントロールを配列にしたい理由って、例えば一気にEnableをfalseに設定したり...とかそういうった状況でしょうかねやっぱり。)
この回答へのお礼
やっぱりGUIでは無理ですかね・・・。
ありがとうございます。参考にして試してみます!
あ、そうですね、配列にしたい理由を言えば、配列にしない他の方法もご提案頂けるかもしれません。
といっても、ご想像通りの理由ですが。。。複数のコントロールに同様の操作をする際にひとつひとつ書かなければならないし、コードが長くなるからです。
このQ&Aを見た人はこんなQ&Aも見ています
- 4int型配列の一括初期化
- 5【C++/CLI】int型からString型への変換
- 6構造体の初期化方法について
- 7C++/CLIにて、System.String^型からChar*への変換。または、fopen_s以外のファイル出力方法
- 8VC++2010で配列を使用する方法
- 9C++/CLIのオブジェクト型配列
- 10VisualC++でコントロール配列
- 11CStringからchar*への型変換について教えてください。
- 12String^の^自体が何を意味しているのか、わかりません。
- 13数値を std::string に変換
- 14【C++/CLI】String型文字列の位置を指定して値を取り出す
- 15子フォームから親フォーム上のコントロールを操作したい
- 16LPCWSTRとchar
- 17ウィンドウハンドルの取得方法について
- 18[C++/CLI]マネージコードで配列を作成してネイティブコードの配列にコピーしたい
- 19フォーム間のデータ受け渡し2
- 20C++/CLIにてForm1の要素に外部から
注目の記事
すぐに使える!スピーチの教科書
冠婚葬祭や学校・会社などですぐに使えるスピーチのネタや例文などをQ&Aでピックアップ!
このQ&Aを見た人がよく見るQ&A
このカテゴリで人気のQ&Aランキング
- 4C#でXMLデシリアライズ(逆シリアル化)
- 5初心者におすすめのC言語開発環境を...
- 6int型からchar型への変換
- 7C言語とC++ の違いについて(オブジ...
- 8size_t
- 9intの数値を文字列に変換
- 10BHO-3
- 11c言語でできること
- 12WebBrowerで次々に読み込む処理方法...
- 13if文の中ではwinsockのsendが出来な...
- 14セマフォとmutexの違いは?
- 15int main()、void main()、void mai...
- 16C言語で簡単なゲームを作る方法
- 17ファイルやディレクトリの存在確認...
- 18C言語を独学でマスターした人。。
- 19c言語 int型の数字をchar型の配列に
- 20BHO-2






