다운로드
소프트웨어 개발
계정
다운로드
소프트웨어 개발
Login
Forgot Account/Password
계정 만들기
언어
도움
언어
도움
×
Login
Login Name
Password
×
Forgot Account/Password
Translation Status of 한국말
Category:
Software
People
PersonalForge
Magazine
Wiki
검색
OSDN
>
브라 우즈 소프트웨어
>
System
>
TERASOLUNA Framework
>
포럼
>
Open Discussion
>
BizLogicException で スローし、View で表示するダイアログについて
TERASOLUNA Framework
Description
Project Summary
Developer Dashboard
웹 페이지
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
History
다운로드
List of Releases
Stats
소스 코드
Code Repository list
Subversion
View Repository
티켓
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
List Docs
Communication
포럼
List of Forums
Open Discussion (1277)
Mailing Lists
list of ML
terasoluna-information
News
포럼:
Open Discussion
(Thread #36050)
Return to Thread list
RSS
BizLogicException で スローし、View で表示するダイアログについて (2014-10-09 17:46 by
kawada
#74563)
Reply
Create ticket
テラソルナの BizLogicException について お聞きしたいことがあります。
.Netでテラソルナの機能を使用します。
画面から、ビジネスロジックへ処理を飛ばして、ビジネスロジックでエラーの場合に、BizLogicException にてスローします。
画面上で、メッセージボックスが表示されますが、アイコンが赤い「×」マークになります。
どうにか、そのアイコンを「ビックリ」マークなどに変更できないでしょうか。
タイトルも変更できるとありがたいです。
お忙しい中、すみませんが
ご教授よろしくお願いいたします。
Reply to #74563
×
Subject
Body
Reply To Message #74563 > テラソルナの BizLogicException について お聞きしたいことがあります。 > > .Netでテラソルナの機能を使用します。 > 画面から、ビジネスロジックへ処理を飛ばして、ビジネスロジックでエラーの場合に、BizLogicException にてスローします。 > > 画面上で、メッセージボックスが表示されますが、アイコンが赤い「×」マークになります。 > どうにか、そのアイコンを「ビックリ」マークなどに変更できないでしょうか。 > タイトルも変更できるとありがたいです。 > > お忙しい中、すみませんが > ご教授よろしくお願いいたします。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
Re: BizLogicException で スローし、View で表示するダイアログについて (2014-10-10 17:08 by
tajirim
#74568)
Reply
Create ticket
[メッセージ #74563 への返信]
ビジネスロジックエラー(BizLogicException)の際にメッセージダイアログに表示される
アイコン、タイトルの変更は、フレームワークの拡張により可能となります。
以下、一つずつご説明いたします。
① アイコンの変更
機能説明書「CL-05 クライアントエラーハンドリング機能」のページCL-05_02にありますように、
ビジネスロジックエラー時に表示するダイアログは、「メッセージ通知機能」を利用して表示しております。
機能説明書「CL-06 メッセージ通知機能」のページCL-06_09にありますように、
メッセージ通知機能では、.NETフレームワーク標準のMessageBoxクラスを利用して
ダイアログを表示しており、デフォルトから表示するボタン等を変更することができる
拡張ポイントが用意されております。
機能説明書「CL-06 メッセージ通知機能」のページCL-06_09の拡張例を参考に
MessageBoxNotificationDisplayerクラスを拡張し、
MessageBoxIconの種類を変更することで、表示するアイコンを変更してください。
以下のようなコードになります。
/// <summary>
/// デフォルトのメッセージ通知機能拡張クラス
/// </summary>
public class CustomMessageBoxNotificationDisplayer :
MessageBoxNotificationDisplayer
{
/// <summary>
/// エラーメッセージ表示
/// </summary>
/// <param name="owner"></param>
/// <param name="message"></param>
/// <param name="caption"></param>
public override void
ShowErrorMessage(System.Windows.Forms.IWin32Window owner,
string message, string caption)
{
// MessageBoxIconをエクスクラメーションに変更
MessageBox.Show(owner, message, caption,
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation,
MessageBoxDefaultButton.Button1,
GetMessageBoxOptions(owner));
}
}
また、スタートアッププロジェクトのTerasolunaFramework.config
IMessageNotificationDisplayerの定義を修正・非コメント化し、拡張クラスを適用してください。
以下のような定義になります。
<unity>
<typeAliases>
<!--★★★メッセージ通知機能拡張クラスの定義-->
<typeAlias alias="CustomMessageBoxNotificationDisplayer"
type="TerasolunaEx.Windows.Forms.MessageNotification.CustomMessageBoxNotificationDisplayer,
TerasolunaEx"/>
</typeAliases>
<containers>
<container>
<types>
<!-- ★★★拡張メッセージ通知機能の設定 -->
<type type="IMessageNotificationDisplayer"
mapTo="CustomMessageBoxNotificationDisplayer"/>
</types>
</container>
</containers>
</unity>
なお、MessageBoxIconの種類については、以下をご参照ください。
<<
http://msdn.microsoft.com/ja-
jp/library/system.windows.forms.messageboxicon%28v=vs.90%29.aspx>>
② タイトルの変更
ビジネスロジックエラーメッセージのタイトル「業務エラー」は、
フレームワークが管理するデフォルトメッセージとして、
Terasoluna.Windows.Forms.dllのDisplayResources.resxにて定義されております。
機能説明書「CM-07 メッセージ管理機能」のページCM-07_05にありますように、
フレームワークが管理するデフォルトメッセージを各プロジェクトで定義した
カスタムメッセージリソースで上書きする拡張ポイントが用意されております。
機能説明書「CM-07 メッセージ管理機能」のページCM-07_05の拡張例を参考に
Terasoluna.Windows.Forms.dllのDisplayResources.resxに対応する
カスタムメッセージリソースを作成し、スタートアッププロジェクトのMainメソッドにて
リソースの上書きを行なってください。
以下のようなコードになります。
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.UnhandledException
+= new
UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Application.ThreadException
+= new
System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// [変更点]
//
Terasoluna.Windows.Forms.dllのDisplayResources.resxをカスタムメッセージリソースに差し替える
Terasoluna.Windows.Forms.Properties.
DisplayMessageResources.Manager.CustomResourceType = typeof(CustomDisplayResources);
///TerasolunaStartupForm継承クラスによるフレームワークの起動処理
///TerasolunaBootstrap.configに設定した初期表示画面を起動する
Application.Run(new StartupForm());
}
Reply to
#74563
Reply to #74568
×
Subject
Body
Reply To Message #74568 > [メッセージ #74563 への返信] > ビジネスロジックエラー(BizLogicException)の際にメッセージダイアログに表示される > アイコン、タイトルの変更は、フレームワークの拡張により可能となります。 > > 以下、一つずつご説明いたします。 > > ① アイコンの変更 > > 機能説明書「CL-05 クライアントエラーハンドリング機能」のページCL-05_02にありますように、 > ビジネスロジックエラー時に表示するダイアログは、「メッセージ通知機能」を利用して表示しております。 > > 機能説明書「CL-06 メッセージ通知機能」のページCL-06_09にありますように、 > メッセージ通知機能では、.NETフレームワーク標準のMessageBoxクラスを利用して > ダイアログを表示しており、デフォルトから表示するボタン等を変更することができる > 拡張ポイントが用意されております。 > > 機能説明書「CL-06 メッセージ通知機能」のページCL-06_09の拡張例を参考に > MessageBoxNotificationDisplayerクラスを拡張し、 > MessageBoxIconの種類を変更することで、表示するアイコンを変更してください。 > > 以下のようなコードになります。 > > /// <summary> > /// デフォルトのメッセージ通知機能拡張クラス > /// </summary> > public class CustomMessageBoxNotificationDisplayer : > MessageBoxNotificationDisplayer > { > /// <summary> > /// エラーメッセージ表示 > /// </summary> > /// <param name="owner"></param> > /// <param name="message"></param> > /// <param name="caption"></param> > public override void > ShowErrorMessage(System.Windows.Forms.IWin32Window owner, > string message, string caption) > { > // MessageBoxIconをエクスクラメーションに変更 > MessageBox.Show(owner, message, caption, > MessageBoxButtons.OK, > MessageBoxIcon.Exclamation, > MessageBoxDefaultButton.Button1, > GetMessageBoxOptions(owner)); > } > } > > また、スタートアッププロジェクトのTerasolunaFramework.config > IMessageNotificationDisplayerの定義を修正・非コメント化し、拡張クラスを適用してください。 > > 以下のような定義になります。 > > <unity> > <typeAliases> > <!--★★★メッセージ通知機能拡張クラスの定義--> > <typeAlias alias="CustomMessageBoxNotificationDisplayer" > type="TerasolunaEx.Windows.Forms.MessageNotification.CustomMessageBoxNotificationDisplayer, > TerasolunaEx"/> > </typeAliases> > <containers> > <container> > <types> > <!-- ★★★拡張メッセージ通知機能の設定 --> > <type type="IMessageNotificationDisplayer" > mapTo="CustomMessageBoxNotificationDisplayer"/> > </types> > </container> > </containers> > </unity> > > > なお、MessageBoxIconの種類については、以下をご参照ください。 > <<http://msdn.microsoft.com/ja- > jp/library/system.windows.forms.messageboxicon%28v=vs.90%29.aspx>> > > ② タイトルの変更 > > ビジネスロジックエラーメッセージのタイトル「業務エラー」は、 > フレームワークが管理するデフォルトメッセージとして、 > Terasoluna.Windows.Forms.dllのDisplayResources.resxにて定義されております。 > > 機能説明書「CM-07 メッセージ管理機能」のページCM-07_05にありますように、 > フレームワークが管理するデフォルトメッセージを各プロジェクトで定義した > カスタムメッセージリソースで上書きする拡張ポイントが用意されております。 > > 機能説明書「CM-07 メッセージ管理機能」のページCM-07_05の拡張例を参考に > Terasoluna.Windows.Forms.dllのDisplayResources.resxに対応する > カスタムメッセージリソースを作成し、スタートアッププロジェクトのMainメソッドにて > リソースの上書きを行なってください。 > > 以下のようなコードになります。 > > /// <summary> > /// アプリケーションのメイン エントリ ポイントです。 > /// </summary> > [STAThread] > static void Main() > { > AppDomain.CurrentDomain.UnhandledException > += new > UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); > Application.ThreadException > += new > System.Threading.ThreadExceptionEventHandler(Application_ThreadException); > Application.EnableVisualStyles(); > Application.SetCompatibleTextRenderingDefault(false); > > // [変更点] > // > Terasoluna.Windows.Forms.dllのDisplayResources.resxをカスタムメッセージリソースに差し替える > Terasoluna.Windows.Forms.Properties. > DisplayMessageResources.Manager.CustomResourceType = typeof(CustomDisplayResources); > > ///TerasolunaStartupForm継承クラスによるフレームワークの起動処理 > ///TerasolunaBootstrap.configに設定した初期表示画面を起動する > Application.Run(new StartupForm()); > > }
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel
Re: BizLogicException で スローし、View で表示するダイアログについて (2014-10-14 20:53 by
kawada
#74605)
Reply
Create ticket
[メッセージ #74568 への返信]
> [メッセージ #74563 への返信]
> ビジネスロジックエラー(BizLogicException)の際にメッセージダイアログに表示される
> アイコン、タイトルの変更は、フレームワークの拡張により可能となります。
>
> 以下、一つずつご説明いたします。
>
> ① アイコンの変更
>
> 機能説明書「CL-05 クライアントエラーハンドリング機能」のページCL-05_02にありますように、
> ビジネスロジックエラー時に表示するダイアログは、「メッセージ通知機能」を利用して表示しております。
>
> 機能説明書「CL-06 メッセージ通知機能」のページCL-06_09にありますように、
> メッセージ通知機能では、.NETフレームワーク標準のMessageBoxクラスを利用して
> ダイアログを表示しており、デフォルトから表示するボタン等を変更することができる
> 拡張ポイントが用意されております。
>
> 機能説明書「CL-06 メッセージ通知機能」のページCL-06_09の拡張例を参考に
> MessageBoxNotificationDisplayerクラスを拡張し、
> MessageBoxIconの種類を変更することで、表示するアイコンを変更してください。
>
> 以下のようなコードになります。
>
> /// <summary>
> /// デフォルトのメッセージ通知機能拡張クラス
> /// </summary>
> public class CustomMessageBoxNotificationDisplayer :
> MessageBoxNotificationDisplayer
> {
> /// <summary>
> /// エラーメッセージ表示
> /// </summary>
> /// <param name="owner"></param>
> /// <param name="message"></param>
> /// <param name="caption"></param>
> public override void
> ShowErrorMessage(System.Windows.Forms.IWin32Window owner,
> string message, string caption)
> {
> // MessageBoxIconをエクスクラメーションに変更
> MessageBox.Show(owner, message, caption,
> MessageBoxButtons.OK,
> MessageBoxIcon.Exclamation,
> MessageBoxDefaultButton.Button1,
> GetMessageBoxOptions(owner));
> }
> }
>
> また、スタートアッププロジェクトのTerasolunaFramework.config
> IMessageNotificationDisplayerの定義を修正・非コメント化し、拡張クラスを適用してください。
>
> 以下のような定義になります。
>
> <unity>
> <typeAliases>
> <!--★★★メッセージ通知機能拡張クラスの定義-->
> <typeAlias alias="CustomMessageBoxNotificationDisplayer"
> type="TerasolunaEx.Windows.Forms.MessageNotification.CustomMessageBoxNotificationDisplayer,
> TerasolunaEx"/>
> </typeAliases>
> <containers>
> <container>
> <types>
> <!-- ★★★拡張メッセージ通知機能の設定 -->
> <type type="IMessageNotificationDisplayer"
> mapTo="CustomMessageBoxNotificationDisplayer"/>
> </types>
> </container>
> </containers>
> </unity>
>
>
> なお、MessageBoxIconの種類については、以下をご参照ください。
> <<
http://msdn.microsoft.com/ja-
> jp/library/system.windows.forms.messageboxicon%28v=vs.90%29.aspx>>
>
> ② タイトルの変更
>
> ビジネスロジックエラーメッセージのタイトル「業務エラー」は、
> フレームワークが管理するデフォルトメッセージとして、
> Terasoluna.Windows.Forms.dllのDisplayResources.resxにて定義されております。
>
> 機能説明書「CM-07 メッセージ管理機能」のページCM-07_05にありますように、
> フレームワークが管理するデフォルトメッセージを各プロジェクトで定義した
> カスタムメッセージリソースで上書きする拡張ポイントが用意されております。
>
> 機能説明書「CM-07 メッセージ管理機能」のページCM-07_05の拡張例を参考に
> Terasoluna.Windows.Forms.dllのDisplayResources.resxに対応する
> カスタムメッセージリソースを作成し、スタートアッププロジェクトのMainメソッドにて
> リソースの上書きを行なってください。
>
> 以下のようなコードになります。
>
> /// <summary>
> /// アプリケーションのメイン エントリ ポイントです。
> /// </summary>
> [STAThread]
> static void Main()
> {
> AppDomain.CurrentDomain.UnhandledException
> += new
> UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
> Application.ThreadException
> += new
> System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
> Application.EnableVisualStyles();
> Application.SetCompatibleTextRenderingDefault(false);
>
> // [変更点]
> //
> Terasoluna.Windows.Forms.dllのDisplayResources.resxをカスタムメッセージリソースに差し替える
> Terasoluna.Windows.Forms.Properties.
> DisplayMessageResources.Manager.CustomResourceType = typeof(CustomDisplayResources);
>
> ///TerasolunaStartupForm継承クラスによるフレームワークの起動処理
> ///TerasolunaBootstrap.configに設定した初期表示画面を起動する
> Application.Run(new StartupForm());
>
> }
大変詳しいご説明ありがとうございます。
返信が遅くなり、大変申し訳ありません。
今後とも、よろしくお願い致します。
Reply to
#74568
Reply to #74605
×
Subject
Body
Reply To Message #74605 > [メッセージ #74568 への返信] > > [メッセージ #74563 への返信] > > ビジネスロジックエラー(BizLogicException)の際にメッセージダイアログに表示される > > アイコン、タイトルの変更は、フレームワークの拡張により可能となります。 > > > > 以下、一つずつご説明いたします。 > > > > ① アイコンの変更 > > > > 機能説明書「CL-05 クライアントエラーハンドリング機能」のページCL-05_02にありますように、 > > ビジネスロジックエラー時に表示するダイアログは、「メッセージ通知機能」を利用して表示しております。 > > > > 機能説明書「CL-06 メッセージ通知機能」のページCL-06_09にありますように、 > > メッセージ通知機能では、.NETフレームワーク標準のMessageBoxクラスを利用して > > ダイアログを表示しており、デフォルトから表示するボタン等を変更することができる > > 拡張ポイントが用意されております。 > > > > 機能説明書「CL-06 メッセージ通知機能」のページCL-06_09の拡張例を参考に > > MessageBoxNotificationDisplayerクラスを拡張し、 > > MessageBoxIconの種類を変更することで、表示するアイコンを変更してください。 > > > > 以下のようなコードになります。 > > > > /// <summary> > > /// デフォルトのメッセージ通知機能拡張クラス > > /// </summary> > > public class CustomMessageBoxNotificationDisplayer : > > MessageBoxNotificationDisplayer > > { > > /// <summary> > > /// エラーメッセージ表示 > > /// </summary> > > /// <param name="owner"></param> > > /// <param name="message"></param> > > /// <param name="caption"></param> > > public override void > > ShowErrorMessage(System.Windows.Forms.IWin32Window owner, > > string message, string caption) > > { > > // MessageBoxIconをエクスクラメーションに変更 > > MessageBox.Show(owner, message, caption, > > MessageBoxButtons.OK, > > MessageBoxIcon.Exclamation, > > MessageBoxDefaultButton.Button1, > > GetMessageBoxOptions(owner)); > > } > > } > > > > また、スタートアッププロジェクトのTerasolunaFramework.config > > IMessageNotificationDisplayerの定義を修正・非コメント化し、拡張クラスを適用してください。 > > > > 以下のような定義になります。 > > > > <unity> > > <typeAliases> > > <!--★★★メッセージ通知機能拡張クラスの定義--> > > <typeAlias alias="CustomMessageBoxNotificationDisplayer" > > type="TerasolunaEx.Windows.Forms.MessageNotification.CustomMessageBoxNotificationDisplayer, > > TerasolunaEx"/> > > </typeAliases> > > <containers> > > <container> > > <types> > > <!-- ★★★拡張メッセージ通知機能の設定 --> > > <type type="IMessageNotificationDisplayer" > > mapTo="CustomMessageBoxNotificationDisplayer"/> > > </types> > > </container> > > </containers> > > </unity> > > > > > > なお、MessageBoxIconの種類については、以下をご参照ください。 > > <<http://msdn.microsoft.com/ja- > > jp/library/system.windows.forms.messageboxicon%28v=vs.90%29.aspx>> > > > > ② タイトルの変更 > > > > ビジネスロジックエラーメッセージのタイトル「業務エラー」は、 > > フレームワークが管理するデフォルトメッセージとして、 > > Terasoluna.Windows.Forms.dllのDisplayResources.resxにて定義されております。 > > > > 機能説明書「CM-07 メッセージ管理機能」のページCM-07_05にありますように、 > > フレームワークが管理するデフォルトメッセージを各プロジェクトで定義した > > カスタムメッセージリソースで上書きする拡張ポイントが用意されております。 > > > > 機能説明書「CM-07 メッセージ管理機能」のページCM-07_05の拡張例を参考に > > Terasoluna.Windows.Forms.dllのDisplayResources.resxに対応する > > カスタムメッセージリソースを作成し、スタートアッププロジェクトのMainメソッドにて > > リソースの上書きを行なってください。 > > > > 以下のようなコードになります。 > > > > /// <summary> > > /// アプリケーションのメイン エントリ ポイントです。 > > /// </summary> > > [STAThread] > > static void Main() > > { > > AppDomain.CurrentDomain.UnhandledException > > += new > > UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); > > Application.ThreadException > > += new > > System.Threading.ThreadExceptionEventHandler(Application_ThreadException); > > Application.EnableVisualStyles(); > > Application.SetCompatibleTextRenderingDefault(false); > > > > // [変更点] > > // > > Terasoluna.Windows.Forms.dllのDisplayResources.resxをカスタムメッセージリソースに差し替える > > Terasoluna.Windows.Forms.Properties. > > DisplayMessageResources.Manager.CustomResourceType = typeof(CustomDisplayResources); > > > > ///TerasolunaStartupForm継承クラスによるフレームワークの起動処理 > > ///TerasolunaBootstrap.configに設定した初期表示画面を起動する > > Application.Run(new StartupForm()); > > > > } > > 大変詳しいご説明ありがとうございます。 > 返信が遅くなり、大変申し訳ありません。 > > 今後とも、よろしくお願い致します。
You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.)
Login
Nickname
Preview
Post
Cancel