2011-01-04 8 views
5

Tôi đang gặp phải hành vi lạ khi sử dụng MessageBox (es) trong chương trình C#/WPF.Sự cố với MessageBox (es)

Tạo một ứng dụng WPF cơ bản đặt một số nhãn lên đó và một nút.

Đây là mã của nút bấm

private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     MessageBoxResult result; 
     do 
     { 

      result = MessageBox.Show(this, "Please Click here under", "TestBugMessageBox", MessageBoxButton.OKCancel, MessageBoxImage.Information, MessageBoxResult.None); 
      if (result.Equals(MessageBoxResult.OK)) 
      { 
       result = MessageBox.Show(this, "Is it the first time you see it ?", "TestBugMessageBox", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.None); 
      } 
     } while (result.Equals(MessageBoxResult.Yes)); 
    } 

Rồi Đặt cửa sổ trên trung tâm của màn hình (theo thứ tự cho MessageBox để trang trải một số nhãn)

Bấm vâng ba lần, và không có lần cuối cùng và bạn sẽ thấy vấn đề (Tôi hy vọng):

Hộp tin nhắn vẫn hiển thị trên ứng dụng.

Bạn có thể cho tôi biết có vấn đề gì không?

+0

hoạt động tốt cho tôi ... – BrokenGlass

+0

Tôi thực sự đã kích hoạt Visual Studio để biên dịch điều này và tôi không thể biết vấn đề là gì. Vì vậy, có vẻ như bạn sẽ phải cho chúng tôi biết. Không có sự kết hợp của các nhấp chuột có thể làm cho nó ở lại trên màn hình. –

+0

Tốt cho tôi nữa. Bạn có thể gợi ý cho chúng tôi không? – TheEvilPenguin

Trả lời

0

Tôi vừa thử điều này trên một hệ thống đa màn hình 64-bit Windows 7 trong Visual Studio 2010 với .NET 4.0 C#/WPF và nó chạy tốt cho tôi.

Sự khác biệt duy nhất là MessageBox.Show của tôi không có trong đối tượng 'this'.

Bạn đang sử dụng System.Windows.MessageBox?

Có thể nó chỉ cần cập nhật Windows và/hoặc cài đặt lại khuôn khổ .NET.

1

Bạn có đang gỡ lỗi và duy trì điểm dừng trong vòng lặp do..while không? Nếu câu trả lời là "có", bạn phải xóa các điểm ngắt: wpf không thể vẽ lại bề mặt cửa sổ của bạn nếu bạn khóa một chu trình trên chuỗi chính.

CHỈNH SỬA: Ngay cả gỡ lỗi và ngắt điểm do..while tôi không thể tái tạo hành vi được mô tả. Vấn đề tôi đã nói đến chỉ là khi dừng chuỗi giao diện người dùng (ví dụ: khi ghi đè | | Sắp xếp các phương pháp và gỡ lỗi chúng), không phải chủ đề chính. Lấy làm tiếc.