C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 自作コントロールのイベントの取り方


(過去ログ 59 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■33680 / inTopicNo.1)  自作コントロールのイベントの取り方
  
□投稿者/ tamaboyo (69回)-(2009/03/06(Fri) 18:30:53)

分類:[C#] 

tamaboyoです。

ここ2,3日はまっているのですが、自作コントロールのイベントハンドラが取れません。
取りたいイベントはdomainUpDownコントロールを元に作成した自作コントロールのUpDownイベントです。

この自作コントロールは、DataGridView上で表示させるために、使用します。
DataGridView上で使用するために、自作コントロールを
public class ExDomainUpDownColumn : DataGridViewColumn
public class ExDomainUpDownCell : DataGridViewTextBoxCell
class ExDomainUpDownEditingControl : ExtendedDomainUpDown, IDataGridViewEditingControl
でくるみました。
#もともとの自作コントロールはExtendedDomainUpDownです。
いくつか必要なので、扱いをまとめるために配列化しているのですが、イベントを追加する部分にUpDownイベントを追加することができません。
エラーは「'ExDomainUpDownColumn' に 'UpDown' の定義がありません。」と表示され、確かにExDomainUpDownColumnクラスにはUpDownのイベントはないのですが、ExDomainUpDownCellクラスのInitializeEditingControlで
ExDomainUpDownEditingControl ctl = DataGridView.EditingControl as ExDomainUpDownEditingControl;
と宣言しています。
これだけではイベントはとれないのでしょうか?

環境はVS2005です。
とてもわかりにくい質問でもうしわけないのですが、よろしくお願いします。
引用返信 編集キー/
■33683 / inTopicNo.2)  Re[1]: 自作コントロールのイベントの取り方
□投稿者/ .SHO (727回)-(2009/03/06(Fri) 19:21:49)
No33680 (tamaboyo さん) に返信

何が何だか、さっぱりわからないです。
もう少し整理して質問するか、きちんと設計しないと回答できないと思います。
引用返信 編集キー/
■33685 / inTopicNo.3)  Re[2]: 自作コントロールのイベントの取り方
□投稿者/ tamaboyo (70回)-(2009/03/06(Fri) 20:03:09)
.SHO さん、ありがとうございます。

> 何が何だか、さっぱりわからないです。
> もう少し整理して質問するか、きちんと設計しないと回答できないと思います。

説明が分かりにくくて申し訳ありません。
やりたいことは、DataGridView上に自作のコントロールを配置し、そのイベントを取りたい、です。

自作コントロールは、domainUpDownコントロールのUpDownイベントをとれるようにしたExtendedDomainUpDownです。

元々DataGridView上に表示できるDataGridViewComboBoxColumnのように表示させたいので、
MSDNを見ながら、ExtendedDomainUpDownをDataGridView上で使えるように、ExDomainUpDownColumnクラスとして作成しました。
#参考にしたMSDNはhttp://msdn.microsoft.com/ja-jp/library/7tas5c80(VS.80).aspxです。

また、それに伴い必要なクラスを
public class ExDomainUpDownColumn : DataGridViewColumn
public class ExDomainUpDownCell : DataGridViewTextBoxCell
class ExDomainUpDownEditingControl : ExtendedDomainUpDown, IDataGridViewEditingControl
と宣言しました。
#各クラスの内容は長くなるので省きます。

また、DataGridViewコントロール上に何列か表示したいので、ExDomainUpDownColumn型の変数を配列化しようとしています。

以上が今までに行った手順です。


質問したいのは、ここからなのですが、
その配列の宣言でUpDownイベントのハンドラをまとめて1つの関数に結び付けようとしているのですが、
ExDomainUpDownColumnの中にUpDownイベントがないためエラーになります。
確かに、ExDomainUpDownColumnの中でUpDownイベントの宣言はしていないのですが、
ExDomainUpDownCellクラスのInitializeEditingControlで
ExDomainUpDownEditingControl ctl = DataGridView.EditingControl as ExDomainUpDownEditingControl;
と宣言をしています。
これでは関連付けはできていないのでしょうか?

なるべく整理して説明してみたのですが、いかがでしょうか?
まだわかりにくかったら申し訳ありません。
宜しくお願いします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -