2008-09-08 142 views
12

Tôi vừa cài đặt C# lần đầu tiên, và thoạt nhìn nó có vẻ rất giống với VB6. Tôi quyết định bắt đầu bằng cách cố gắng tạo ra 'Hello, World!' UI Edition.Làm cách nào để tạo MessageBox trong C#?

Tôi bắt đầu trong Trình thiết kế biểu mẫu và tạo nút có tên "Nhấp vào tôi!" tiến hành tăng gấp đôi vào nó và gõ vào

MessageBox("Hello, World!"); 

tôi nhận được lỗi sau:

MessageBox là một 'loại' nhưng sử dụng như một 'biến'

Hội chợ đủ, có vẻ như trong C# MessageBox là một đối tượng. Tôi đã thử các sau

MessageBox a = new MessageBox("Hello, World!"); 

tôi nhận được lỗi sau: MessageBox không chứa một constructor mà mất '1' lập luận

Bây giờ tôi đang bối rối. Hãy giúp tôi.

+1

Khi bạn tìm hiểu C#, giữ nền tảng hướng đối tượng của nó trong tâm trí Khác với js hay. php, nơi mà các cuộc gọi phương thức của bạn thường là 'method()', trong C# các cuộc gọi của bạn là 'object.method()'. Ví dụ: 'Console.WriteLine()' trái với 'print()'. – Dinah

Trả lời

37

MessageBox.Show cũng trả về một DialogResult, nếu bạn đặt một số nút trên đó, có nghĩa là bạn có thể trả lại những gì người dùng đã nhấp vào. Hầu hết thời gian tôi viết một cái gì đó như là

if (MessageBox.Show("Do you want to continue?", "Question", MessageBoxButtons.YesNo) == MessageBoxResult.Yes) { 
    //some interesting behaviour here 
} 

mà tôi đoán là hơi khó sử dụng nhưng nó hoàn thành công việc.

+0

Tôi nghĩ rằng nó nên là MessageBoxButton thay vì DialogBoxButtons và MessageBoxResult thay vì DialogResult – Smolla

+0

@Smolla: Đừng quên cập nhật văn xuôi cũng như mẫu mã. –

+0

DialogResult.Yes . Xem http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx để biết thêm thành viên enum. – jim31415

14
using System.Windows.Forms; 

... 

MessageBox.Show("hello world"); 
8

Đây là một chức năng tĩnh trên lớp MessageBox, cách đơn giản để làm điều này là sử dụng

MessageBox.Show("my message"); 

trong lớp System.Windows.Forms. Bạn có thể tìm thêm trên trang msdn cho số here này. Trong số những thứ khác, bạn có thể kiểm soát văn bản hộp, tiêu đề, nút mặc định và biểu tượng. Vì bạn không chỉ định, nếu bạn đang cố gắng làm điều này trong một trang web, bạn nên xem xét kích hoạt cảnh báo javascript ("thông báo của tôi"); hoặc xác nhận ("câu hỏi của tôi"); chức năng.

-1

Trong lớp System.Windows.Forms, bạn có thể tìm hiểu thêm trên trang MSDN cho việc này tại đây. Trong số những thứ khác, bạn có thể kiểm soát văn bản hộp, tiêu đề, nút mặc định và biểu tượng. Vì bạn không chỉ định, nếu bạn đang cố gắng thực hiện điều này trong trang web, bạn nên xem xét kích hoạt các hàm javascript alert("my message"); hoặc confirm("my question");.

0

Đây là một số điều bạn có thể đưa vào hộp thư. Thưởng thức
MessageBox.Show("Enter the text for the message box",
"Enter the name of the message box",
(Enter the button names e.g. MessageBoxButtons.YesNo),
(Enter the icon e.g. MessageBoxIcon.Question),
(Enter the default button e.g. MessageBoxDefaultButton.Button1)

thông tin có thể tìm thêm here

5

Hãy thử bên dưới mã:

MessageBox.Show("Test Information Message", "Caption", MessageBoxButtons.OK, MessageBoxIcon.Information); 
+0

XIN SỬ DỤNG: "using System.Windows.Forms;" Ở TOP –

+2

câu hỏi này đã được hỏi và trả lời trong năm 2008 với câu trả lời được chấp nhận. tại sao lặp lại cùng một câu trả lời. –

+0

Khi đưa ra câu trả lời, vui lòng cho OP biết lý do tại sao tính năng này hoạt động và mã của anh ấy không hoạt động. Trong trường hợp này, bạn sử dụng một phương thức tĩnh, nhưng anh ta đang cố tạo một cá thể mới. – joe

0

Tôi đã nhận lỗi cùng 'System.Windows.Forms.MessageBox' là một 'loại' nhưng được sử dụng giống như một 'biến', ngay cả khi sử dụng:

MessageBox.Show("Hello, World!"); 

tôi đoán những nỗ lực ban đầu của tôi với inval id cú pháp gây ra một số loại lỗi và tôi đã kết thúc sửa chữa nó bằng cách thêm một không gian giữa "MessageBox.Show" và các dấu ngoặc():

MessageBox.Show ("Hello, World!"); 

Bây giờ sử dụng cú pháp ban đầu mà không có thêm không gian làm việc một lần nữa:

MessageBox.Show("Hello, World!"); 
+0

Điều này không thực sự trả lời câu hỏi. Nếu bạn có một câu hỏi khác, bạn có thể hỏi nó bằng cách nhấp vào [Hỏi câu hỏi] (http://stackoverflow.com/questions/ask). Bạn cũng có thể [thêm tiền thưởng] (http://stackoverflow.com/help/privileges/set-bounties) để thu hút thêm sự chú ý đến câu hỏi này khi bạn có đủ [danh tiếng] (http://stackoverflow.com/help/ whats-danh tiếng). –

+0

Điều này trả lời câu hỏi gián tiếp, bởi vì đây là giải pháp giải quyết vấn đề của tôi, vì tôi đã nhận được lỗi tương tự như áp phích gốc. Câu hỏi của tôi cũng là cách tạo một hộp thư trong C#, nhưng không có câu trả lời nào ở đây giải quyết được vấn đề của tôi. – KeithJ

Các vấn đề liên quan