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

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

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

Re[5]: クラスライブラリについて


(過去ログ 59 を表示中)

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

■33901 / inTopicNo.1)  クラスライブラリについて
  
□投稿者/ nam (1回)-(2009/03/12(Thu) 19:16:19)

分類:[VB.NET/VB2005 以降] 

いつもお世話になっています。

早速質問なのですが、
今回初めてVB2008でクラスライブラリを作成することになりました。

現在プロト作成中なのですが、
1つ悩んでいる部分があります。

クラスライブラリにボタンを配置し、
参照したフォームにクラスライブラリを配置します。

この時、フォーム側でクラスライブラリのボタンが
押されたことをハンドルすることはできるのでしょうか?

--クラスライブラリの中身--
Public Class UserControl1
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
MessageBox.Show("test")
End Sub
End Class
--------------------------

配置したフォーム側でこの"Button1_Click"を取得したいのです。

よろしくお願いします。

引用返信 編集キー/
■33903 / inTopicNo.2)  Re[1]: クラスライブラリについて
□投稿者/ Jitta on the way (287回)-(2009/03/12(Thu) 19:20:38)
No33901 (nam さん) に返信
> いつもお世話になっています。
>
> 早速質問なのですが、
> 今回初めてVB2008でクラスライブラリを作成することになりました。
>
> 現在プロト作成中なのですが、
> 1つ悩んでいる部分があります。
>
> クラスライブラリにボタンを配置し、
> 参照したフォームにクラスライブラリを配置します。
>
> この時、フォーム側でクラスライブラリのボタンが
> 押されたことをハンドルすることはできるのでしょうか?
>
> --クラスライブラリの中身--
> Public Class UserControl1
この辺でイベント宣言して
> Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
> Handles Button1.Click
> MessageBox.Show("test")
この辺りでハンドラーを呼び出してやる
> End Sub
> End Class
> --------------------------
>
> 配置したフォーム側でこの"Button1_Click"を取得したいのです。
>
> よろしくお願いします。
>


詳しいことは MSDN ライブラリ を参照してから。
引用返信 編集キー/
■33904 / inTopicNo.3)  Re[1]: クラスライブラリについて
□投稿者/ オショウ (120回)-(2009/03/12(Thu) 20:24:52)
> クラスライブラリにボタンを配置し、
> 参照したフォームにクラスライブラリを配置します。

  整理しましょう!

  まず、クラスには、ボタンと言うコントロ−ルを配置できません。

  よって・・・
  1. クラスにWinFormを内包させる
  2. クラスからイベントを受け取るような仕組みとするようにする

  どちらでしょうか?
  何等かの処理の『終わり』をイベントとする為のものと推測します
  が、その場合、メッセージボックスでも代用は可能です。

  それをあくまでクラスとして綺麗に実装したいのであれば、イベント
  になろうかと。

  行いたいことを明確にすれば、実装も自ずと決まると思いますが。

以上。

  
引用返信 編集キー/
■33905 / inTopicNo.4)  Re[2]: クラスライブラリについて
□投稿者/ オショウ (121回)-(2009/03/12(Thu) 21:56:49)
追伸・・・

ユーザーコントロールのクラスもありますネ!
そういう意味では、そのコントロールのクラスをフォームに
貼れば、イベントを設けられます。

以上。
引用返信 編集キー/
■33917 / inTopicNo.5)  Re[3]: クラスライブラリについて
□投稿者/ nam (2回)-(2009/03/13(Fri) 09:02:54)
Jitta on the wayさん、オショウさん

返信ありがとうございます。
やりたことをまとめると、
今までVB6でMDIフォームを使ってUIの統一をしていました。
VB2008ではMDIを使用して同じことがうまく実装できないので
ユーザクラスを使ってUIを統一させようということになりました。

ユーザクラスには、
メッセージを表示するラベル部分と共通ボタンを配置して
あとは共通の関数を実装したいと考えています。

まずはJitta on the wayさんのおっしゃられたとおり
MSDNライブラリを参照してみます。
引用返信 編集キー/
■33921 / inTopicNo.6)  Re[4]: クラスライブラリについて
□投稿者/ はつね (960回)-(2009/03/13(Fri) 10:29:03)
はつね さんの Web サイト
No33917 (nam さん) に返信
> 今までVB6でMDIフォームを使ってUIの統一をしていました。
> VB2008ではMDIを使用して同じことがうまく実装できないので
> ユーザクラスを使ってUIを統一させようということになりました。

Windowsフォームクラスの派生クラスつくればいいと思いますよ。
大まかな流れ

1.クラスライブラリプロジェクトを作成する。
2.初期生成されているクラスファイルを削除する。
3.Windowsフォームを新規追加する
4.必要な.NET Frameworkクラスライブラリの参照設定を追加する。
5.新規追加したWindwosフォームに共通デザイン部分の部分を配置する。
6.必要なコードを記述する
7.DLLとしてビルドする
8.新規プロジェクトを作成する
9.新規プロジェクトのWindowsフォームでInheritsをSystem.Windows.Formsではなく7でビルドしたものにする

引用返信 編集キー/
■33923 / inTopicNo.7)  Re[5]: クラスライブラリについて
□投稿者/ nam (3回)-(2009/03/13(Fri) 11:23:01)
Jitta on the wayさん、オショウさん、はつねさん

多くのご助言ありがとうございました。
MSDNライブラリを確認して、
実装方法を変更して解決しました。

WidowsコントロールライブラリでDLLを作成する方法を試していたのですが、
プロジェクトにユーザコントロールを追加する方法に変更しました。
同じプロジェクト内にあるのでデバッグ等もやりやすくなり、
悩んでいたことも解決できました。

参考にしたページ
http://msdn.microsoft.com/ja-jp/library/3sf86w5h(VS.80).aspx

ご助言をくださった方々ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -