2013-04-06 87 views
4

如何使用MessageBox中的類庫?如何在類庫c#中使用Messagebox?

這裏是我的代碼

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace MessageBoxes 
{ 
    class ShowInfo 
    { 
     MessageBox.Show("test"); 
    } 
} 

我可以加載消息框,但無法顯示有物業,MessageBox.Show( 「測試」); < - 失敗

+3

當你讓他們你應該張貼確切編譯器錯誤。 – chris 2013-04-06 08:46:51

回答

10

你應該使用的Windows形成類庫內的MessageBox。如果你在ASP.NET應用程序中使用這個庫,該怎麼辦? MessageBox將顯示在Webserver中。並且你的網絡服務器將等待(掛起),直到某人迴應了Web服務器中的MessageBox。

理想的設計是,你要麼返回的消息字符串和應對呼叫者特定的方式,字符串或如果那是你想要的東西拋出異常。

如果你仍然想那麼這裏就是你的代碼更正

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace MessageBoxes 
{ 
    class ShowInfo 
    { 
     public void ShowMessage(string msg) 
     { 
      MessageBox.Show(msg); 
     } 
    } 
} 
+0

噢!我從來沒有學過asp.net,我只是想爲桌面應用程序調用messageBoxes。順便說一句,謝謝你告訴我這件事 – PotterWare 2013-04-06 09:34:35

1

你必須在調用任何方法之外的消息框。
此代碼不能在所有的編譯。

你應該寫

namespace MessageBoxes 
{ 
    class ShowInfo 
    { 
     public void ShowUserMessage(string messageText) 
     { 
      MessageBox.Show(messageText); 
     } 
    } 
} 

,然後實例化類型的對象ShowInfo

ShowInfo info = new ShowInfo(); 
info.ShowUserMessage("This is a Test"); 
0

確保你實際使用的類中的主要形式以後調用它。

class ShowInfo 
{ 
    public static void show() 
    { 
     System.Windows.Forms.MessageBox.Show("test"); 
    } 
} 

...

public Form1() 
    { 
     InitializeComponent(); 
     ShowInfo.show(); 
    } 
+0

已經有Windows窗體命名空間的聲明。你所做的和用戶的問題完全一樣。 – 2013-04-06 09:00:49

+1

但我的沒有!所以我宣佈了命名空間。爲什麼我試圖展示是在表單中使用類。它完美地工作,那麼問題在哪裏?你不能看到第二個代碼片段嗎? – 2013-04-06 09:04:42