Vấn đề thể hiện kích thước chữ (Label, button, checkbox...) trên WinForm

Liên hệ QC
Nếu bạn tạo bộ cài đặt bằng InnoSetup thì thêm Section [Dirs] vào và thiết lập quyền để ghi dữ liệu.
[Dirs]
;Nếu muốn ghi dữ liệu vào nơi Windows cho phép thì tạo thiết lập dưới đây:
Name: {commonappdata}\{app}; Permissions: users-modify
;Nếu muốn ghi dữ liệu vào thư mục ứng dụng thì tạo thiết lập dưới đây:
Name: {app}; Permissions: users-modify
Ngon cành đào luôn, giải pháp tối ưu đến thời điểm hiện tại.
 
Tôi có vấn đề mà chưa biết cách khắc phục, nhờ các thành viên ai có kinh nghiệm trợ giúp tôi với.
Tôi viết Add-Ins cho Excel bằng C#, ở máy tính của mình thì nó thể hiện đúng như mình thiết kế, nhưng sang máy khác thì kích thước chữ của các đối tượng (Label, checkbox, button...) trên WinForm đều thể hiện to hơn bình thường (to hơn mình thiết kế ở máy của mình). Vấn đề này tôi cũng từng gặp khi viết ứng dụng Windows nhưng đến thời điểm hiện tại vẫn chưa biết cách khắc phục, vậy có thành viên nào có kinh nghiệm về vấn đề này có thể hỗ trợ tôi khắc phục với, hoặc có gợi ý nào để tôi tham khảo với.
Dưới đây là một số ảnh kích thước chữ bị to dẫn đến trường hợp không thể hiện hết nội dung cần thể hiện.
View attachment 294105
View attachment 294106
View attachment 294107
ứng dung của bác đã chạy được chưa ạ
 
Đã chạy được và hơi bị ngon luôn.
Ngon tức là ứng dụng đã tối ưu mã phải không anh?
Khả năng bảo mật và khả năng bị tấn công ở mức nào? anh có viết mã theo chuẩn nguyên tắc của các tác giả nổi tiếng trong giới lập trình không?
Mã trong ứng dụng của anh có xử lý ở cấp độ memory khi cần thiết không?
Anh có tận dụng đa luồng vào thuật toán xử lý không?
Các hành động và thao tác với trang tính có bảo toàn Undo và Redo không?
Khả năng chiếm dụng tài nguyên như thế nào?
Khả năng tương thích đa nền tảng có không?
Xử lý lỗi khả năng xung đột giữa các tiến trình có không? Ví dụ như khi Application đang bận xử lý tác vụ, ứng dụng của anh có xếp hành động và tác vụ vào hàng đợi chờ thực thi không.
Ứng dụng của anh có tạo ra rác bộ nhớ không, và làm sạch chúng một cách tối ưu?
 
Lần chỉnh sửa cuối:
Ngon tức là ứng dụng đã tối ưu mã phải không anh?
Khả năng bảo mật và khả năng bị tấn công ở mức nào? anh có viết mã theo chuẩn nguyên tắc của các tác giả nổi tiếng trong giới lập trình không?
Mã trong ứng dụng của anh có xử lý ở cấp độ memory khi cần thiết không?
Anh có tận dụng đa luồng vào thuật toán xử lý không?
Các hành động và thao tác với trang tính có bảo toàn Undo và Redo không?
Khả năng chiếm dụng tài nguyên như thế nào?
Khả năng tương thích đa nền tảng có không?
Xử lý lỗi khả năng xung đột giữa các tiến trình có không? Ví dụ như khi Application đang bận xử lý tác vụ, ứng dụng của anh có xếp hành động và tác vụ vào hàng đợi chờ thực thi không.
Ứng dụng của anh có tạo ra rác bộ nhớ không, và làm sạch chúng một cách tối ưu?
Ở đây tui đang nói đến vấn đề thể hiện kích thước chữ trên WinForm chứ chưa nói đến cái Add-Ins. Nhờ có gợi ý của bác mà tui sẽ cân nhắc kỉ lại cái tiện ích. Mà xin nói thêm ở đây tui không phải dân lập trình được đào tạo bài bản mà đúng chất ở đây tui là dân a ma tơ nên vấn đề tìm hiểu sâu vào hệ thống thì tui xin thua, bác có kinh nghiệm có thể chia sẻ để tui học hỏi thêm, đặc biệt là cái vụ memory, đa luồng, khả năng chiếm dụng tài nguyên làm cách nào để biết, dùng cái gì để đo...
 
@giaiphap

Khi anh debug ứng dụng trong Visual Code Studio tất cả thông số trong quá trình chạy đều được ghi. Do là một Add-ins nên khi hoạt động cần đặt giới hạn bộ nhớ, và CPU. Khi ứng dụng tính toán. Nếu quá trình chiếm dụng xảy ra, khiến máy tính xảy ra tình trạng lag hoặc bị đứng. Người dùng có thể sẽ không biết nguyên nhân.

Một ví dụ điển hình là: Application.MultiThreadedCalculation.ThreadCount, Trong Excel anh có thể đặt số luồng tính toán, để giảm số luồng tính toán. Các luồng còn lại sẽ nhường cho các ứng dụng khác.
Quản lý cấp phát bộ nhớ để chống tràn, nếu máy tính có RAM 8GB, ứng dụng cần đặt giới hạn cấp phát bộ nhớ là 1/3. Và phần RAM còn lại để có đủ cho các ứng dụng khác.

Add-ins hoạt động trong Excel, giả sử Application đang bận tác vụ, khi tác tụ và hành động Add-ins diễn ra, quá trình xung đột có thể xảy ra và làm sập ứng dụng. Chính vì vậy cần đưa hành động và tác vụ vào hàng đợi để chờ đến khi Application có thể truy cập từ bên ngoài.

Nắm trong tay nguyên tắc lập trình, anh sẽ giảm đi nhiều lỗi nghiêm trọng mà lập trình viên thường mắc phải. Để quá trình chỉnh sửa mã, bảo trì mã dễ dàng.
 
Tôi thì chỉ thấy cái hình ở bài 1 quen quen mà thôi. Còn lại thì người dùng không phàn nàn là được. :p
 
Tôi thì chỉ thấy cái hình ở bài 1 quen quen mà thôi. Còn lại thì người dùng không phàn nàn là được. :p
Lỡ người dùng chả hiểu gì về cái WinForm để phàn nàn thì sao?
Thiếu giống gì mấy cái hàm "cho không" ở đây, có thể là "ngon" bậc nhất nhưng đọc chả hiểu gì hết, thêm cả mớ pointers rối như bòng bong. Ông nội tôi cũng không dám dùng. Tuy nhiên, vẫn có những người xâm mình tải về dùng.
 
Web KT
Back
Top Bottom