2009-12-17 32 views
14

Cách nhanh nhất để hiển thị chỉ báo đèn đỏ/xanh trên biểu mẫu C# là gì?Chỉ báo ánh sáng đỏ lục trong C# .NET Form

Ban đầu tôi nghĩ về việc sử dụng các nút radio, nhưng không chắc chắn cách đặt màu của chấm, chỉ có văn bản nền trước/nền.

Sau đó, tôi nghĩ đến việc vẽ một vòng tròn. Không thể tìm thấy hình dạng hộp công cụ cho điều đó và không muốn viết mã chỉ để vẽ hình tròn.

Về cơ bản, tôi đang viết một màn hình ứng dụng nhỏ cụ thể, hiển thị đèn đỏ nếu một số dịch vụ nhất định không hoạt động hoặc một số dịch vụ web không phản hồi.

Cảm ơn,

Neal Walters

Đây là những gì tôi đã cho đến nay sử dụng một nút vuông thay vì hình tròn. Mã chỉ là những gì tôi muốn, tôi chỉ muốn một hình tròn.

 if (allGood) 
     { 
      btnIISIndicator.BackColor = Color.Green; 
     } 
     else 
     { 
      btnIISIndicator.BackColor = Color.Red; 
     } 
+1

Ide bạn cung cấp trong câu hỏi là chính xác những gì tôi cần! Cảm ơn – VSZM

Trả lời

16

Có một số biểu tượng và đồ họa tuyệt vời cho loại điều này ... Đây là liên kết here. Nhiều hơn nữa có sẵn miễn phí hoặc cho một số phí nhỏ.

+1

+1 để cung cấp liên kết thực tế cho hình ảnh. – alastairs

+0

Vì tôi là một lập trình viên, không phải là một nghệ sĩ ngăn kéo, điều này có vẻ tốt nhất. Tôi nghĩ rằng đã từng là một "hình dạng" hoặc "vòng tròn" trên hộp công cụ "trong những ngày cũ"? – NealWalters

+0

FYI - không phải là simpel như tôi đã hy vọng - tôi có thể phải đăng một câu hỏi khác cho điều này: {"Không thể tìm thấy bất kỳ tài nguyên nào phù hợp với văn hóa được chỉ định hoặc văn hóa trung tính. Đảm bảo \" Resource1.resources \ "đã được nhúng đúng cách hoặc được liên kết thành assembly \ "TFBIC.RCT.Monitor \" tại thời gian biên dịch, hoặc tất cả các cụm vệ tinh được yêu cầu đều có thể tải và được ký đầy đủ. "} – NealWalters

2

Tôi chỉ có thể làm một bảng điều khiển hoặc PictureBox và thiết lập các hình nền như của một ánh sáng màu đỏ/màu xanh lá cây. Hoặc là làm cho hình ảnh trong PhotoShop/PaintShop/MS Paint hoặc tải xuống một số hình ảnh cổ phiếu trên web.

Bất cứ khi nào trạng thái thay đổi, chỉ cần hoán đổi hình ảnh.

1

Tôi chỉ sử dụng một số hình ảnh chuẩn và đặt chúng trong một picturebox. hoạt động tốt trên các ứng dụng của chúng tôi.

1

Tạo bitmap màu đỏ và xanh lục và sử dụng điều khiển PictureBox để hiển thị bitmap.

1

Sử dụng hình ảnh nhưng có một số biểu tượng tuyệt vời có sẵn here để bạn không phải thực sự tạo ra một số hình ảnh.

2

Không liên quan chính xác cho câu hỏi trong tầm tay, nhưng mã của bạn có thể được rút ngắn phần nào sử dụng các nhà điều hành ternary như vậy:

btnIISIndicator.BackColor = allGood ? Color.Green : Color.Red; 

Nhưng mà tất cả phụ thuộc vào bạn (hoặc của tổ chức của bạn) định nghĩa về khả năng đọc và khả năng bảo trì .

+0

Điểm tốt, tôi biết toán tử bậc ba, nhưng thường quên mã nó. – NealWalters

12

Điều này rất đơn giản, chỉ cần sử dụng System.Windows.Shapes cho đối tượng và System.Windows.Media.Brushes cho màu sắc.

Đối với một vòng tròn bạn có thể làm như sau:

System.Windows.Shapes.Ellipse circle = new System.Windows.Shapes.Ellipse(); 
circle.Height = 20; //or some size 
circle.Width = 20; //height and width is the same for a circle 
circle.Fill = System.Windows.Media.Brushes.Red; 

Sau đó, bạn có thể làm cho một chức năng để thực hiện kiểm tra của bạn cho màu đỏ và màu xanh lá cây.

+2

+1 là câu trả lời duy nhất cung cấp cách thức thực hiện điều đó mà không có hình ảnh cố định. Điều này đặc biệt hữu ích nếu ví dụ: màu xuất phát từ tập tin cài đặt. –

0

chỉ cần thử tính năng này phù hợp với tôi.

SolidColorBrush solidColor=new SolidColorBrush(); 
    solidColor.Color=Colors.Red; 
ellips_circle.Fill=solidColor; 
+1

Cảm ơn bạn về đoạn mã này, đoạn mã này có thể cung cấp một số trợ giúp ngay lập tức. Một lời giải thích thích hợp [sẽ cải thiện rất nhiều] (// meta.stackexchange.com/q/114762) giá trị giáo dục của nó bằng cách hiển thị * tại sao * đây là một giải pháp tốt cho vấn đề, và sẽ hữu ích hơn cho các độc giả tương lai tương tự, nhưng không giống nhau, câu hỏi. Vui lòng [sửa] câu trả lời của bạn để thêm giải thích và đưa ra chỉ dẫn về những giới hạn và giả định được áp dụng. –

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