Vật vã cùng MonoDevelop >”<

Vì nhu cầu học tập C# trên trường, mình phải cài MonoDevelop. Mọi chuyện quả là chẳng dễ dàng chút nào khi MonoDevelop sử dụng GTK# để quản lý giao diện, khác hẳn với Winform trong Visual Studio (VS). Cách tạo giao diện, đứng dưới góc độ của VS thì MonoDevelop là quá chuối! Vật vã một hồi cũng có chút xí kinh nghiệm như sau.

1/ Muốn thêm 1 widget thì không đơn giản kéo-thả như trong VS mà phải tạo các Container trước. Thật sự các Container cũng không linh hoạt về kích thước và vị trí như VS nên giao diện nhìn rất là mất cân đối 😦 .

2/ MonoDevelop mặc định không có class System.Windows.Forms. Nếu muốn sử dụng, bạn làm như sau:

– Mở Terminal cài 2 gói cần thiết: $ sudo apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil

– Mở 1 Solution trong MonoDevelop, click phải lên References -> Edit References, chọn thêm System.Windows.Forms.

3/ Các phương thức sự kiện trên MonoDevelop cũng khác với VS. Hix. Bây giờ mình đang có 1 rắc rối cần được giúp đỡ như sau. Mình tạo 1 textbox chỉ cho phép người dùng nhập số vào thôi. Mình muốn khi người dùng gõ 1 phím thì nó sẽ kiểm tra xem kí tự vừa gõ vào, nếu không phải là số thì sẽ không hiện kí tự đó vào trong textbox. Pro chỉ mình với nhá.

[Kết thúc cuộc phiêu lưu với MonoDevelop. Lý do là MonoDevelop với Gtk# chưa xây dựng xong bộ tài liệu thì lấy gì mà học với hành! Đành phải cài Windows XP trên máy ảo để chạy Visual Studio C# Express vậy. Buồn 😦 ]

Chúc vui!

Advertisements

2 thoughts on “Vật vã cùng MonoDevelop >”<

  1. 1) GTK+ không phải WinForms, không đặt vị trí theo pixel mà nguyên tắc đặt do container qui định. Đọc thêm tài liệu về GTK+, một số container thường dùng là hbox, vbox và table. Còn vẫn khoái kiểu windows thì dùng container Fixed. Nếu cần thì chỉnh padding.. để nhìn đẹp hơn.

    2) Sao không dùng SharpDevelop? Tui đoán SharpDevelop hỗ trợ WinForms mà. Hay VS, khỏi phàn nàn.

    3) Xem thử signal “insert-text” (GtkEditable)

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s