下载
开发软件
账户
下载
开发软件
登录
我忘记用户名和密码了
创建帐户
语言
帮助
语言
帮助
×
登录
登录名
密码
×
我忘记用户名和密码了
简体中文翻译状态
类别:
软件
用户
PersonalForge
Magazine
Wiki
搜索
OSDN
>
浏览软件
>
System
>
TERASOLUNA Framework
>
论坛
>
公开讨论
>
BizLogicException で スローし、View で表示するダイアログについて
TERASOLUNA Framework
描述
项目概述
开发人员仪表板
项目的网页
开发人员
Image Gallery
List of RSS Feeds
Activity
统计
历史
下载
List of Releases
统计
源代码
Code Repository list
Subversion
查看仓库
任务单
Ticket List
里程碑列表
Type List
组件列表
List of frequently used tickets/RSS
Submit New Ticket
文档
Wiki
FrontPage
Title index
Recent changes
Doc Mgr
列表文档
沟通
论坛
List of Forums
公开讨论 (1277)
Mailing Lists
list of ML
terasoluna-information
新闻
论坛:
公开讨论
(Thread #36050)
Return to Thread list
RSS
BizLogicException で スローし、View で表示するダイアログについて (2014-10-09 17:46 by
kawada
#74563)
回复
Create ticket
テラソルナの BizLogicException について お聞きしたいことがあります。
.Netでテラソルナの機能を使用します。
画面から、ビジネスロジックへ処理を飛ばして、ビジネスロジックでエラーの場合に、BizLogicException にてスローします。
画面上で、メッセージボックスが表示されますが、アイコンが赤い「×」マークになります。
どうにか、そのアイコンを「ビックリ」マークなどに変更できないでしょうか。
タイトルも変更できるとありがたいです。
お忙しい中、すみませんが
ご教授よろしくお願いいたします。
回复到 #74563
×
主体
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.)
登录
Nickname
预览
Post
取消
Re: BizLogicException で スローし、View で表示するダイアログについて (2014-10-10 17:08 by
tajirim
#74568)
回复
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());
}
回复到
#74563
回复到 #74568
×
主体
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.)
登录
Nickname
预览
Post
取消
Re: BizLogicException で スローし、View で表示するダイアログについて (2014-10-14 20:53 by
kawada
#74605)
回复
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());
>
> }
大変詳しいご説明ありがとうございます。
返信が遅くなり、大変申し訳ありません。
今後とも、よろしくお願い致します。
回复到
#74568
回复到 #74605
×
主体
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.)
登录
Nickname
预览
Post
取消