2013-07-18 11 views
8

Tôi có một ứng dụng hình thức chiến thắng và tôi đang cố gắng để chạy nó bên trong trình duyệt web, tôi lục lọi web và tìm thấy một số liên kết:Chạy một trình duyệt Web Application WinForms Bên

tôi đã cố gắng liên kết này: Embedding a .NET WinForms Application in an Internet Browser Using WPF , điều này hoạt động tốt nhưng vấn đề là người dùng cuối phải cài đặt dot net frame work để chạy ứng dụng.

Tôi tìm thấy một liên kết khác tại đây cho running a WinForms Application Inside Web Browser, với Visual WebGui khung phát triển.

Có ai có kinh nghiệm với WebGui không?

Trả lời

0

winforms không phải là web. Web là Web.

Web nghĩa là HTML + một cái gì đó (thường là JavaScript, CSS và có thể là jQuery hoặc như vậy).

1 - Nếu bạn cần một ứng dụng web và muốn thực hiện với .Net, hãy tạo một Ứng dụng ASP.Net.

2 - Nếu bạn cần một ứng dụng Windows (Máy tính để bàn), hãy tạo một ứng dụng WPF.

3 - Nếu bạn cần ứng dụng kiểu "Metro" của Windows 8 (a.k.a Windows Store App), hãy tạo ứng dụng WinRT XAML.

4 - winforms hoàn toàn vô dụng. Quên đi.

Nếu khách hàng của bạn không muốn cài đặt bất kỳ phiên bản nào của .Net Framework, lựa chọn duy nhất của bạn là # 1.

Một ứng dụng winforms sẽ KHÔNG BAO GIỜ là một ứng dụng web, bất kể bạn làm gì để làm cho nó chạy bên trong trình duyệt web.

một XBAP (Ứng dụng trình duyệt WPF) cũng KHÔNG phải là ứng dụng web. Nó chỉ là một ứng dụng khách WPF thông thường mà không có cửa sổ riêng của nó.

Edit:

Nếu bạn đã làm mọi thứ theo cách đúng (có nghĩa là, maintaing tách mối quan tâm và đưa logic ứng dụng trong điều khiển hoặc ViewModels thay vì mã khủng khiếp đằng sau thực hành nhất WinForms nhà phát triển thường được sử dụng đến), không khó để tái sử dụng logic ứng dụng của bạn và tạo một ứng dụng mới (web hoặc cách khác) trong khi vẫn duy trì nguyên vẹn các lớp Truy cập dữ liệu và Kinh doanh Logic.

+2

chính xác tôi biết điều này! tôi chỉ muốn hỏi có bất kỳ trải nghiệm nào với WebGui không? – KF2

+0

@ Irsog Tôi không biết đó là gì, cũng không quan tâm. Nếu tôi cần web, tôi truy cập web, nếu không thì WPF. không có lý do gì để sử dụng các công cụ winforms lỗi thời. –

+0

tôi có một app.i winform có thể chạy i với ứng dụng trình duyệt wpf như hostelement, làm việc tốt nhưng người dùng phải cài đặt .net, vì vậy tôi không có đủ thời gian để viết cùng một ứng dụng web, tôi thấy thiết kế biểu mẫu WebGui giống như winform ứng dụng, tôi cần biết tôi có thể sao chép biểu mẫu của mình sang ứng dụng WebGui mà không sửa đổi. – KF2

10

Vâng, Visual WebGui web trên ASP.NET. Kinh nghiệm phát triển của nó là giống nhau/tương tự như của Windows Forms bằng cách sử dụng Visual WebGui thiết kế tích hợp vào Visual Studio. Bạn làm mã của bạn đằng sau chỉ giống như bạn làm trên Windows Forms và thời gian chạy WebGui biến nó thành HTML5/CSS/JS.

Những nỗ lực cần thiết để chuyển đổi ứng dụng Windows Forms của bạn thành ứng dụng web Visual WebGui equivialend sẽ phụ thuộc vào các thành phần (bên thứ 3/.NET) được sử dụng trong ứng dụng Windows Forms của bạn. Visual WebGui API rất giống với Windows Forms, vì vậy trong một số trường hợp, bạn có thể thêm một vài tham chiếu đến WebGui assembly cụ thể và sau đó tìm kiếm/thay thế cho một vài không gian tên. Tất nhiên có một số khác biệt, vì đây là hai nền tảng khác nhau, nhưng trải nghiệm phát triển khá giống với Windows Forms.

0

Trong kinh nghiệm hạn chế của tôi với Visual WebGui, đây là một công nghệ khá thú vị. Nói một cách đơn giản, như tôi đã hiểu, bạn có thể sử dụng IDE phát triển Windows Forms để tạo một ứng dụng ASP.NET/máy chủ web tương thích HTML5 ứng dụng ... không chỉ là trang web hoặc trang, với giao diện rất giống như một ứng dụng desktop của Windows form. Nó thực hiện điều này bằng cách chuyển đổi các điều khiển Winforms thành mã jquery ở phía máy khách và lưu trữ hầu hết mã thực thi ở phía máy chủ.

Tôi đã sử dụng nó để tạo ra các ứng dụng đơn giản cho mục đích thử nghiệm và có một vài cảnh báo. Đầu tiên, để tạo một trang web "đẹp", bạn cần phải suy nghĩ lại cách bố trí Winforms để làm cho nó giống như web, với tiêu đề, sidebars, vv Đó là một mô hình khác, và người dùng mong đợi những thứ nhất định trên một trang web. Tin tốt là điều chỉnh này thường có thể được thực hiện khá dễ dàng bằng cách thao tác điều khiển; tức là điều khiển Bảng điều khiển có thể trở thành vùng chứa cho thanh bên hoặc tiêu đề. Bạn cũng có thể tạo "chủ đề", giống như giao diện điều khiển để sửa đổi giao diện.

Một lưu ý khác là các sự kiện cho những thứ như hộp thoại bật lên hoạt động khác trong môi trường web. Trong thực thi chương trình Winforms tạm dừng cho đến khi người dùng nhấp vào nút "OK" hoặc một cái gì đó. Trong Visual WebGui, tất cả việc thực hiện xảy ra ở phía máy chủ; do đó, việc thực hiện chương trình sẽ tiếp tục mà không cần phải chờ người dùng nhập vào. Điều này có thể được xử lý bằng cách tạo một trình xử lý Form.Close cho hộp popup. Nhưng những loại khác biệt này cần được lưu ý.

Bạn cũng phải xem xét bất thường về bố cục đối tượng. Visual WebGui làm một công việc tốt thường bắt chước các lợi ích WYSIWYG Winforms: Các đối tượng thường xuất hiện khá gần trên trang web đến nơi bạn đặt chúng trong môi trường. Nhưng điều này không phải lúc nào cũng vậy; bạn cần phải chơi xung quanh với đối tượng đệm, lề, vv đôi khi để có được bố trí đúng. Tuy nhiên, nó thường dễ dàng hơn nhiều so với việc thay đổi khoảng cách giữa các đối tượng CSS hoặc div một cách tẻ nhạt.

+0

Tại sao bỏ phiếu xuống? – MQuiggGeorgia

+0

Trang web đã chết. Các công nghệ như thế này quá mát mẻ. Họ chết. –

0

Tôi nghĩ rằng câu hỏi này rất giống với cái này:

Is it possible to convert a WinForm to a WebForm in .NET?

Như đã đề cập trước đây, cách duy nhất để chạy các ứng dụng "nguyên trạng" bên trong một trình duyệt sẽ được thông qua việc sử dụng một số activex kiểm soát và điều đó sẽ yêu cầu IE + .NET Framework. Có những công cụ mà bạn có thể sử dụng để tự động di chuyển ứng dụng lên Web, nhưng sẽ luôn có một số nỗ lực thủ công và nó sẽ không giống như xây dựng ứng dụng từ đầu như một ứng dụng web.

0

Nếu không có .net không phải là yêu cầu thì bạn có thể chạy ứng dụng winforms trong thẻ đối tượng dưới dạng plugin nhưng yêu cầu cài đặt ứng dụng winforms trên máy. Bạn cũng phải làm cho các đối tượng có thể nhìn thấy được. Vì vậy, nếu bạn phải tránh cài đặt .net rằng giải pháp không phải dành cho bạn sử dụng.