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

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

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

Re[1]: ユーザーコントロールを組合せてアプリ作成する際の構成


(過去ログ 85 を表示中)

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

■50791 / inTopicNo.1)  ユーザーコントロールを組合せてアプリ作成する際の構成
  
□投稿者/ もすら (1回)-(2010/06/17(Thu) 22:28:40)

分類:[.NET 全般] 

はじめまして。
VB2005を使用してます。VB暦 3ヶ月の初心者です。

複数のユーザーコントロールを使うとき、あるユーザコントロールから
別のコントロールのメソッドをしようするときどのようにすればよいのか
その時のユーザーコントロールの構成(コントロールの同階層配置、親子関係の階層)
をどう組めばよいのかアドバイスいただければと思います。

背景:
PICの機能をPCのU-ARTを使って操作する際、U-ARTやI2Cを使いまわせるように
夫々ユーザコントロールを作成しました
U-ART(メソッド:送信、受信、ポートOpen/Close、Open/Closeボタン、ポートセレクト)
I2C (メソッド Write、Read Writeボタン、Readボタン)
そして
 PICを制御するためのユーザーコントロールをいくつか作り、これらの中のボタンを押すと
PICを操作するシーケンス
 (そのコントロールに設定したデータを、I2C Write、Read(U-ART送信、受信)し、
  値チェック、計算)
を行うようにと考えたのですが、このときコントロールをどのように構成すればよいか
わかりません。
または、ユーザーコントロール同士アクセスし合える方法があるのか?

アドバイスいただければと思います。
宜しくお願いいたします。

引用返信 編集キー/
■50792 / inTopicNo.2)  Re[1]: ユーザーコントロールを組合せてアプリ作成する際の構成
□投稿者/ 魔界の仮面弁士 (1672回)-(2010/06/17(Thu) 22:53:30)
No50791 (もすら さん) に返信
> 複数のユーザーコントロールを使うとき、あるユーザコントロールから
> 別のコントロールのメソッドをしようするときどのようにすればよいのか

ユーザーコントロールに、「別のコントロール」を受け取るプロパティを用意しておくとか。

Public Property Parter() As Control
 Get
  Return _Partner
 End Get
 Set(ByVal value As Control)
  _Partner = value
 End Set
End Property

そうすれば、UserControl 内部からは
 If Me.Parter IsNot Nothing Then
  Me.Parter.Text = ""
 End If
などのようにして、「別のコントロール」にアクセスできます。


あるいは、IExtenderProvider + ProvidePropertyAttribute で関連付けるとか。
引用返信 編集キー/
■50800 / inTopicNo.3)  Re[1]: ユーザーコントロールを組合せてアプリ作成する際の構成
□投稿者/ 渋木宏明(ひどり) (1364回)-(2010/06/18(Fri) 00:27:16)
渋木宏明(ひどり) さんの Web サイト
> PICの機能をPCのU-ARTを使って操作する際、U-ARTやI2Cを使いまわせるように
> 夫々ユーザコントロールを作成しました

↑の分割単位が「ユーザコントロール」であるべきかどうか、軽く疑問を感じます。

ユーザコーンとロールは UI 実装です。
ここに「機能」まで入れ込んでしまうと、「使い回し」する際に「UI は少し変えたい」なんて要求に対応することが出来ません。

なので、「使い回し」を重視するなら、「UI と 機能の分離」についても検討するべきです。
UI なんざ所詮水物なので、ユーザコントロール化する必要すらないかもしれません。

UI を持たない「機能」の部品化については、素のクラスか、コンポーネント(.NET では System.ComponentModel.Component で表されます)化などが選択肢として考えられます。

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -