2011-10-26 3 views
0

Я хочу, чтобы инкапсулировать MessageBox класса внутри другого класса и передать этот объект каким-либо способом и получить Text, Caption, Buttons, Icon для MessageBox от метода, основанного на бизнес-логике, и показать сообщение в запросе метод.Encapsulate класс MessageBox внутри другого класса

Как это сделать?

Пожалуйста показать некоторые образцы кода ..

+0

почему вниз голосования ? Пожалуйста, укажите причину. – dotNETbeginner

+1

Вы уже пробовали? Просьба представить код примера с точками боли. – Fischermaen

+0

@Fischermaen: Я пробовал это, но возникла какая-то проблема, и я решил ее решить. Я отправил свой ответ – dotNETbeginner

ответ

1
using System.Windows.Forms; 

namespace WindowsFormsApplication1 
{ 
    public class MessageBoxObject 
    { 
     public string Text { get; set; } 
     public string Caption { get; set; } 
     public MessageBoxButtons Buttons { get; set; } 

     public void Show() 
     { 
      MessageBox.Show(Text,Caption,Buttons); 
     } 
    } 
} 
2

Вы не можете создать экземпляр MessageBox.

Вы можете, однако, создать класс, который будет держать все параметры, необходимые, чтобы показать MessageBox, как так:

internal class MessageBoxParameters 
{ 
    public string Caption { get; set; } 
    public string Text { get; set; } 
    public MessageBoxButtons Buttons { get; set; } 
    public MessageBoxIcon Icon { get; set; } 
} 

затем:

public static class MessageBoxUtilities 
{ 
    public static DialogResult Show(MessageBoxParameters p) 
    { 
     return MessageBox.Show(p.Text, p.Caption, p.Buttons, p.Icon); 
    } 
} 
Смежные вопросы