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

DataGridViewにユーザーコントロールを表示する方法がわかりません

環境/言語:[C# 2005 Express Edition]
分類:[.NET]

2006/12/09(Sat) 03:04:12 編集(投稿者)

自分である程度調べたんですけどわかりませんでした・・・。
プログラミング歴は正味半年ぐらいです。
継承は理解しています(と思います。)
インターフェイスの使い方は分かりかけてます。
完全にゼロから作り上げる方法と、単に上に被せて擬似表示する方法があるらしいのですが、プログラミングの理解の為にも完全にゼロから作り上げる方法、つまり、合ってるかわかりませんがDataGridViewCellを継承して作りたいと思っております。ですが擬似表示する方法も出来たら教えていただきたいです。
ご存知の方がいらっしゃいましたら書き込みお願いします。
■No18486に返信(masaさんの記事)
> 自分である程度調べたんですけどわかりませんでした・・・。
> プログラミング歴は正味半年ぐらいです。
> 継承は理解しています(と思います。)
> インターフェイスの使い方は分かりかけてます。
> 完全にゼロから作り上げる方法と、単に上に被せて擬似表示する方法があるらしいのですが、プログラミングの理解の為にも完全にゼロから作り上げる方法、つまり、合ってるかわかりませんがDataGridViewCellを継承して作りたいと思っております。ですが擬似表示する方法も出来たら教えていただきたいです。
> ご存知の方がいらっしゃいましたら書き込みお願いします。

ごめんなさい、マジメに質問内容が理解できません。
最初の自己紹介を書くより、もっと詳細を書かれることを強く望みます。
2006/12/09(Sat) 03:04:50 編集(投稿者)
2006/12/09(Sat) 03:04:43 編集(投稿者)

すいません、冒頭から関係ない文を書いていました。
ユーザーコントロール、自作コントロールをDGVのセルに表示させたいのです。
MSDNに”方法 : Windows フォーム DataGridView コントロールのセルと列を、それぞれの動作と外観を拡張してカスタマイズする”
http://msdn2.microsoft.com/ja-jp/library/7fb61s43(VS.80).aspx
で書かれているのですがDataGridViewTextBoxCellから継承しているので、実現したいと思っている自作コントロール又は何でもいいんですがコントロール全般を表示する方法がわからないのです。
早く言えば、このホームページで紹介されている”DataGridでComboBoxを使う”のDGV版的なことをやりたいのです。
何分初心者な者で、質問がわかりにくいかもしれませんがよろしくお願いします。
(究極、質問自体がおかしいかもしれません)
それと、じゃんぬねっと様いつもホームページ拝見させて頂いています。
> MSDNに”方法 : Windows フォーム DataGridView コントロールのセルと列を、それぞれの動作と外観を拡張してカスタマイズする”
> http://msdn2.microsoft.com/ja-jp/library/7fb61s43(VS.80).aspx
> で書かれているのですがDataGridViewTextBoxCellから継承しているので、実現したいと思っている自作コントロール又は何でもいいんですがコントロール全般を表示する方法がわからないのです。

サンプルで DataGridViewTextBoxCell が使われているのは、セルの編集をサポートするためだと思われます。

まぁ大体のケースでセルの編集は必要になるでしょうから、このまま素直に参考にすればいいんじゃないでしょうか。
> サンプルで DataGridViewTextBoxCell が使われているのは、セルの編集をサポートするためだと思われます。
>
> まぁ大体のケースでセルの編集は必要になるでしょうから、このまま素直に参考にすればいいんじゃないでしょうか。

MSDNの”方法 : Windows フォーム DataGridView コントロールのセルと列を、それぞれの動作と外観を拡張してカスタマイズする”
を参考にして作ると私の予想ですが、未選択状態ではTextBox表示になってしまい、やりたいと思っている未選択状態でもコントロール表示することが出来ないと思います・・・ですがこれをやるとなったらかなり難度が高そうなので初心者の私ではHELP無しでは作れません。

無理難題言ってすみません、ですが最初の質問の方向性は間違ってなかった様で良かったです。

後それと、上に被せて擬似表示する方法は何とか自分で解決できそうです。
2006/12/11(Mon) 13:48:09 編集(投稿者)
2006/12/11(Mon) 13:12:02 編集(投稿者)

> MSDNの”方法 : Windows フォーム DataGridView コントロールのセルと列を、それぞれの動作と外観を拡張してカスタマイズする”

参考にするなら

方法 : Windows フォーム DataGridView Cells でコントロールをホストする
http://msdn2.microsoft.com/ja-jp/library/7tas5c80(VS.80).aspx

ですよね?

>未選択状態ではTextBox表示になってしまい、やりたいと思っている未選択状態でもコントロール表示することが出来ないと思います

そこまで分かっているなら、サンプルで DataGridViewTextBoxCell を使用しているところを DataGridViewCell に置き換えて試してみれば良いのではありませんか?

それで詰まれば、またその時点で質問してみてください。

>ですがこれをやるとなったらかなり難度が高そうなので初心者の私ではHELP無しでは作れません。

すみません、私は実地でやったことが無いし、↑のヘルプトピックの他に参考になるような事例も知りません。
渋木宏明(ひどり)様、アドバイスありがとうございます。
方法 : Windows フォーム DataGridView Cells でコントロールをホストする
http://msdn2.microsoft.com/ja-jp/library/7tas5c80(VS.80).aspx
を参考にやってみます。
ではまた後日(1週間〜1ヶ月かかるかもしれません)、結果を書きこまさせていただきます。
ありがとうございました。

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