一般情况下,dotnetfx自带的MessageBox.Show()方法可满足简单的信息提示。
在实际业务中,经常提示并统计的应用场景。
1、简单描述
这种情况下,有主提示信息,比如:“修改成功!”,但需要一些统计信息,
比如:
共有{0}条修改成功,{1}条修改失败!
单据****,修改成功!
单据****,修改成功!
单据****已审核,修改失败!
2、图标和标题
MessageBox.Show()的不同类型提示的图标以及标题也是需要的,比如警告、确认、三态按钮等等。
3、多语言支持
采用标准的方法即可。
下面展示一下我的自定义提示消息的实体定义
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace YourCompany.Common
6

{
7
[Serializable]
8
public class TipMessage
9
{
10
private string m_advance;
11
private string m_caption;
12
private string m_text;
13
private Exception m_exception;
14
private int m_failAdvanceCount;
15
private int m_successfulAdvanceCount;
16
17
属性#region 属性
18
public string Text
19
{
20
get
{ return m_text; }
21
set
{ m_text = value; }
22
}
23
24
public int TotalAdvanceCount
25
{
26
get
27
{
28
return m_failAdvanceCount + m_successfulAdvanceCount;
29
}
30
}
31
public bool HasFailMessage
32
{
33
get
34
{
35
return m_failAdvanceCount>0;
36
}
37
}
38
public int SuccessfulAdvanceCount
39
{
40
get
41
{
42
return m_successfulAdvanceCount;
43
}
44
}
45
46
public bool HasAdvance
47
{
48
get
49
{
50
if (m_advance == null || m_advance.Length == 0)
51
{
52
return false;
53
}
54
else
55
{
56
return true;
57
}
58
//return m_advance != null || m_advance.Length > 0;
59
}
60
}
61
62
public int FailAdvanceCount
63
{
64
get
{ return m_failAdvanceCount; }
65
}
66
67
public Exception Exception
68
{
69
get
{ return m_exception; }
70
set
{ m_exception = value; }
71
}
72
73
public string Caption
74
{
75
get
{ return m_caption; }
76
set
{ m_caption = value; }
77
}
78
79
public string Advance
80
{
81
get
{ return m_advance; }
82
set
{ m_advance = value; }
83
}
84
#endregion
85
86
方法#region 方法
87
public void AppendAdvance(string advance)
88
{
89
StringBuilder sb = new StringBuilder();
90
sb.Append(m_advance);
91
sb.Append(advance);
92
m_advance = sb.ToString();
93
}
94
public void AppendAdvance(string advance, bool isSuccessful)
95
{
96
StringBuilder sb = new StringBuilder();
97
sb.Append(m_advance);
98
sb.Append(advance);
99
m_advance = sb.ToString();
100
if (isSuccessful)
101
{
102
m_successfulAdvanceCount++;
103
}
104
else
105
{
106
m_failAdvanceCount++;
107
}
108
}
109
public void AppendAdvance(string advance, params object[] args)
110
{
111
advance = string.Format(advance, args);
112
StringBuilder sb = new StringBuilder();
113
sb.Append(m_advance);
114
sb.Append(advance);
115
m_advance = sb.ToString();
116
}
117
public void AppendAdvance(string advance, bool isSuccessful, params object[] args)
118
{
119
advance = string.Format(advance, args);
120
StringBuilder sb = new StringBuilder();
121
sb.Append(m_advance);
122
sb.Append(advance);
123
m_advance = sb.ToString();
124
if (isSuccessful)
125
{
126
m_successfulAdvanceCount++;
127
}
128
else
129
{
130
m_failAdvanceCount++;
131
}
132
}
133
public void AppendAdvanceLine(string advance)
134
{
135
StringBuilder sb = new StringBuilder();
136
sb.Append(m_advance);
137
sb.AppendLine(advance);
138
m_advance = sb.ToString();
139
}
140
public void AppendAdvanceLine(string advance, bool isSuccessful)
141
{
142
StringBuilder sb = new StringBuilder();
143
sb.Append(m_advance);
144
sb.AppendLine(advance);
145
m_advance = sb.ToString();
146
if (isSuccessful)
147
{
148
m_successfulAdvanceCount++;
149
}
150
else
151
{
152
m_failAdvanceCount++;
153
}
154
}
155
public void AppendAdvanceLine(string advance, params object[] args)
156
{
157
advance = string.Format(advance, args);
158
StringBuilder sb = new StringBuilder();
159
sb.Append(m_advance);
160
sb.AppendLine(advance);
161
m_advance = sb.ToString();
162
}
163
public void AppendAdvanceLine(string advance, bool isSuccessful, params object[] args)
164
{
165
advance = string.Format(advance, args);
166
StringBuilder sb = new StringBuilder();
167
sb.Append(m_advance);
168
sb.AppendLine(advance);
169
m_advance = sb.ToString();
170
if (isSuccessful)
171
{
172
m_successfulAdvanceCount++;
173
}
174
else
175
{
176
m_failAdvanceCount++;
177
}
178
}
179
#endregion
180
181
构造析构#region 构造析构
182
public TipMessage()
183
{
184
}
185
186
public TipMessage(string text)
187
{
188
m_text = text;
189
m_caption = "YourCompany Message";
190
}
191
#endregion
192
193
}
194
}
195