2009-07-29 37 views
5

Tôi đang làm việc ngày càng nhiều hơn với các ứng dụng dành cho máy tính để bàn và GUIs SUCK của tôi. Tôi quen thuộc với những điều cơ bản về thiết kế GUI, nhưng tôi đang gặp khó khăn khi đưa chúng vào thực tế.Tài nguyên tốt để tạo GUI trong Visual Studio

Điều tôi đang tìm kiếm là hướng dẫn tốt (hoặc ít nhất là phong nha) để xây dựng (không thiết kế!) GUI trong Visual Studio.

Không làm điều đó (Tôi không tìm thấy nhiều thông qua các nguồn thông thường), tôi phải hỏi: liệu có thể/đáng để nỗ lực xây dựng GUI với chế độ xem 'Thiết kế' của VS2K5 không? Đó là những gì tôi đã sử dụng phần lớn, vì tôi là một người trực quan.

Cụ thể, tôi đang tìm kiếm sự giúp đỡ trong 'hạt & bu lông' của THỰC HIỆN một thiết kế hoàn

Tôi không bất lợi khi cài đặt công cụ bổ sung nếu cần thiết, nhưng sở thích của tôi là gắn bó với những thứ bạn nhận được thông qua một vanilla cài đặt của VS2k5 nếu có thể.

+0

Bạn đang sử dụng khung công tác nào? Windows Forms? MFC? WPF? –

+0

Windows Forms ngay bây giờ, mặc dù tôi đang RẤT mở để sử dụng bất cứ điều gì khác mà đi kèm với VS2K5 và làm việc với một phụ trợ C#. – Jeff

+0

Bạn đã đọc trên mẫu thiết kế mô hình-view-controller MVC chưa? – kenny

Trả lời

2

Trình thiết kế Visual Studio cho WinForms hoạt động thực sự tốt. Tôi sử dụng nó mọi lúc khi tạo ứng dụng WinForms. Cách tiếp cận khác là xác định các phần tử giao diện người dùng trong mã, điều này khá đau đớn.

OTOH, theo ý kiến ​​của tôi VS thiết kế kinh nghiệm cho WPFWebForms (ASP.NET) là gần như không tốt như với WinForms. May mắn thay, đối với các ứng dụng WPF và WebForms, nếu bạn không thích nhà thiết kế, ít nhất bạn có thể quay lại sử dụng đánh dấu khai báo, tốt hơn rất nhiều so với việc xác định các phần tử giao diện người dùng trong mã (không may WinForms không có ngôn ngữ đánh dấu khai báo).

Sử dụng thiết kế VS WinForms, đây là một vài lời khuyên để cải thiện kinh nghiệm của bạn:

  • Tìm hiểu làm thế nào để sử dụng Anchor property. Học điều này cùng với thuộc tính Dock có thể cải thiện thiết kế WinForms của tôi trải nghiệm nhiều hơn bất kỳ thứ gì khác.

  • Khi ở trong nhà thiết kế, luôn luôn có Document Outline view mở, trong đó cho thấy bạn hệ thống phân cấp quản lý của hình thức của bạn trong một hình cây ... thực sự hữu ích, đặc biệt là khi đổi tên điều khiển.

+0

WPF không gần như tốt? Gì? – Pluc

0

Tôi có ít thời gian để thực sự khai thác các liên kết ngon ngọt nhưng tôi chắc chắn một chút đào trên một phần của bạn sẽ giúp bạn có được một số thông tin thực hành tốt nhất. Nó có thể không liên quan trực tiếp đến trình thiết kế biểu mẫu trong VS2k5 nhưng hữu ích theo cách nào đó. Tôi không nói bạn nên là một guru khả năng sử dụng, nhưng họ chắc chắn đáng xem.

Ngoài ra, liên quan đến "đáng để nỗ lực xây dựng GUI với chế độ xem 'Thiết kế' của VS2K5"? Tôi sẽ nói đó là một số & không. Tôi chỉ nói điều này từ thực tế là nếu bạn dựa quá nhiều vào một nhà thiết kế, không có vấn đề gì với IDE, bạn đang bỏ lỡ công cụ bẩn & - những thứ thực sự dạy bạn điều gì đang xảy ra. Một số điều bạn phải làm thông qua mã hoặc trong thời gian thiết kế hoặc thời gian chạy để có được kết quả tốt nhất vì vậy nó sẽ không làm tổn thương để thực sự biết những gì đang xảy ra dưới mui xe!

Chúc mừng GUI'ing!

-1

Tôi phải nói rằng tôi không đồng ý với croutle, việc tạo giao diện người dùng tốt không nhất thiết phải liên quan đến mã hóa. SmashingMagazine có một danh mục lớn các tài nguyên dành cho thiết kế giao diện người dùng và trong khi hầu hết các tài nguyên này đều rất lập dị, thì nguyên tắc chung vẫn áp dụng cho dù bạn đặt giao diện người dùng của mình với nhau trong trình chỉnh sửa Biểu mẫu thông qua mã hóa hoặc trên trang web.

Đối với tôi, các nhà thiết kế GUI luôn là một cách để giữ cho bản trình bày tách biệt khỏi nội dung, việc thực hiện tốt GUI với Nhà thiết kế sẽ hỗ trợ, nếu bạn bắt đầu phải viết nhiều mã để ảnh hưởng đến các hiệu ứng đơn giản trong giao diện người dùng dòng đó bắt đầu mờ. Giao diện Builder trên Mac làm điều này tốt nhất của tất cả những cái tôi đã sử dụng (trong số những người khác Java Swing, Windows Forms).

Câu hỏi đặt ra là tương tác có hút hay không, trừ khi bạn là một nghệ sĩ giỏi không thực sự có nhiều thứ bạn có thể làm sau này, nhưng phải bám sát tối thiểu. Có một khoa học để tối giản mà có thể được học ngay cả đối với các loại nghệ sĩ không (đặt ra tất cả mọi thứ trên một mạng lưới thường xuyên ví dụ). This mảnh được hướng bằng cách nào đó hướng tới in ấn, nhưng hầu hết các khía cạnh được đề cập là phổ quát và làm áp dụng cho màn hình và thiết kế giao diện người dùng.

Cái cũ có thể được khắc phục bằng cách cố gắng đặt mình vào vị trí của người dùng. Nhìn vào nhiệm vụ mà người dùng đang làm và cách họ thực hiện điều đó bằng phần mềm của bạn. Liệu nó có làm cho người dùng dễ dàng thực hiện công việc của họ hay không và nó ném rào chắn trong con đường làm lu mờ luồng công việc.

+1

Đây là về thiết kế - Tôi vừa phải ok tại đó (thiết kế trang web của tôi là khá tốt, ví dụ) .Tôi đã biết những gì tôi muốn giao diện trông giống như và làm Tôi chỉ không biết làm thế nào để đạt được hiệu quả, hỏi về tiện ích của quan điểm thiết kế VS chỉ là một bên, thực sự – Jeff

+0

Xin lỗi Jeff, tôi cũng đã hiểu nhầm! – ccalboni

3

Nếu bạn đã thiết kế và lên kế hoạch, thì việc triển khai nó sẽ là phần dễ dàng.Với WinForms, nó thực sự là kéo và thả (và thiết lập một số thuộc tính, chẳng hạn như cho docking và neo).

Bí quyết mà tôi thấy thực sự giúp thực hiện thông qua triển khai là hoàn toàn và hoàn toàn giả lập giao diện trên giấy. Tôi có nghĩa là tất cả mọi thứ: mỗi menu, nút, nhãn, lưới, vv nên được phác thảo ra. Sau đó, nó chỉ là một vấn đề kéo các điều khiển vào một hình thức, đổi tên chúng thành một cái gì đó hợp lý, và đảm bảo rằng kích thước cửa sổ không ném điều khiển của bạn ra khỏi vị trí.

Nếu bạn không có thiết kế được thực hiện đầy đủ để hoạt động khi tạo GUI, bạn sẽ gặp khó khăn vì bạn vẫn sẽ đưa ra quyết định thiết kế sẽ được đưa vào cách xây dựng.

EDIT: Nếu bạn sẵn sàng trả tiền, http://www.learnvisualstudio.net/ có một số video về chủ đề tạo GUI đơn giản cho ứng dụng cơ bản, thường hướng tới một điều khiển cụ thể (DataGridView, ListView, v.v.).

-1

Tôi cũng hút các giao diện người dùng. Tôi cứ tiếp tục làm rối tung mọi thứ .. Dù sao thì tôi cũng đang cố cải thiện. Cách tiếp cận mới của tôi rất đơn giản: sao chép. Có rất nhiều giao diện người dùng tốt xung quanh và chúng tôi không cần phải phát minh lại bánh xe. Một hiệu ứng phụ tốt là sự liên tục trong trải nghiệm người dùng của chúng tôi.

Thực hiện chương trình mà người dùng của bạn tìm thấy sự hoang mang và cố gắng bắt chước nó. Tôi nghĩ rằng rất nhiều ứng dụng có thể được thực hiện bằng cách truy tìm giao diện người dùng MS Outlook, ví dụ. Hoặc nếu bạn muốn làm điều gì đó mới mẻ, hãy xem những gì người lớn làm: chỉ cần ví dụ, hãy thử Picasa (máy tính để bàn) của Google. Hoặc bất kỳ chương trình nào có thanh ribbon. Nếu bạn có thời gian, hãy xem MS 'Vista User Experience Interaction Guidelines (PDF có sẵn để tải xuống). Có rất nhiều giải pháp nhỏ, giống như nơi để đặt "lưu-hủy bỏ" nút và trong đó thứ tự .. đó là một điều ngu ngốc nhưng làm cho một sự khác biệt lớn.

Một nguồn tài nguyên tốt nếu bạn có một công việc phải hoàn thành và muốn có một điểm khởi đầu về cách trình bày nó là Quince from Infragistic. Nó có rất nhiều "làm như thế này" lời khuyên và ảnh chụp màn hình mẫu.

Một nguồn tài nguyên khác, như được đề cập bởi Harald, là SmashingMagazine: bạn có thể đăng ký nguồn cấp dữ liệu của họ và đúng là thiết kế máy tính để bàn là mỗi ngày gần với đối tác web hơn.

Và cuối cùng là biểu tượng. SmashingMagazine thường đưa ra lời khuyên về các biểu tượng và bạn có thể tìm thấy nhiều bộ sưu tập trên IconFactory.

HTH!

+0

Anh ấy 's hỏi làm thế nào để thực hiện một thiết kế hoàn thành, không làm cho một thiết kế ui – RCIX

2

Khi bạn nhìn vào một phần mềm thành công, nó trông rất đơn giản, ít nhất là về lý thuyết. Mã GUI có thể cực kỳ đánh giá thấp về độ phức tạp của nó, và đôi khi bị bỏ qua trong giai đoạn thiết kế vì nó được coi là tầm thường.

Tôi không chắc chắn nếu bạn đang hỏi về hướng dẫn WinForms hoặc cụ thể cách tổ chức và cấu trúc mã theo cách giữ cho bạn lành mạnh, nhưng theo cách này, hoặc là Jeremy Miller has a good collection of tips on how to design the GUI code structure. (Lưu ý: Đây là về cấu trúc mã GUI, không phải WinForms hoặc thiết kế khả năng sử dụng).

mất của tôi trên mã GUI đã thường được quá trình này:

  1. Tạo một giao diện thô và fugly với thiết kế trong VS. Đến từ thiết kế web, bạn có thể xem MS Frontpage này ở chế độ WYSIWYG - không có kiểu dáng hoặc cấu trúc cụ thể. Chỉ cấu trúc hình ảnh thô của ứng dụng, thanh thực đơn, thanh công cụ, thanh trạng thái, v.v. Không có điều khiển tùy chỉnh.
  2. Xem mã và tổ chức nó thành một vài lớp
  3. Quay trở lại thiết kế và thêm các điều khiển để các lớp học được tổ chức
  4. Xem mã và tổ chức nó.
  5. Rửa sạch, tạo bọt, lặp lại.

Khi cấu trúc mã của tôi được hoàn thành, tôi chuyển sang chế độ chi tiết cực đoan, nơi tôi mã hóa các giá trị để có được điểm ảnh hoàn hảo trái ngược với GUI.

Dù sao, tôi không hoàn toàn chắc chắn câu hỏi của bạn là gì nhưng tôi hy vọng điều này sẽ hữu ích. Hãy cho tôi biết nếu tôi hiểu lầm bạn.

+0

Great liên kết, cảm ơn bạn! –

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