Tôi đang viết một ứng dụng yêu cầu hai màn hình: một cho bảng điều khiển, màn hình kia cho đầu ra. Những gì tôi có là: nếu chỉ có một màn hình, ứng dụng sẽ hiển thị cả hai biểu mẫu trên nó nhưng nếu có hai, biểu mẫu đầu ra sẽ chuyển sang biểu mẫu kia. Vấn đề là điều này chỉ xảy ra khi ứng dụng được bắt đầu. Nói cách khác, nếu ứng dụng đã chạy trước khi màn hình thứ hai được kết nối, không có gì xảy ra trừ khi người dùng gửi đầu ra đến màn hình mới theo cách thủ công (giả sử họ biết cách thực hiện). Điều tôi muốn là khi màn hình mới được kết nối, biểu mẫu đầu ra sẽ tự động được gửi đến ngay cả khi ứng dụng đang chạy. Tôi nghĩ rằng nó đã làm với bỏ phiếu một cảng trong một chủ đề nhưng tôi không biết làm thế nào để làm điều đó. Bất cứ ai có thể giúp làm thế nào để làm điều đó? Nếu có một giải pháp tốt hơn, tôi sẽ sẵn sàng chào đón nó.Phát hiện khi màn hình mới được kết nối
(Tôi đã cung cấp một số phần của mã nhưng tôi đang nhập mã này từ điện thoại)
Bạn có thể tạo một vòng bỏ phiếu để thường xuyên kiểm tra đối với một màn hình mới trong một nền công nhân chủ đề/nền. Ví dụ. đọc thuộc tính ['Screen.AllScreens'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.screen.allscreens.aspx) và thực hiện một số mã nếu nó trở thành'> 1' . –
Đó là những gì tôi nghĩ nhưng tôi cần mã về cách thực hiện. Tôi có vấn đề với việc viết chủ đề. Bạn có thể giúp chứ? – afaolek
Bạn có thể sử dụng lớp này: http://msdn.microsoft.com/en-us/library/system.windows.forms.screen(v=vs.100).aspx Và bạn có thể sử dụng BackgroundWorker: http: // msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker(v=vs.100).aspx – Davio