2011-09-05 22 views
7

Tôi đang làm việc trên ứng dụng C# trên máy tính để bàn. Tôi đang sử dụng một số menu strips control mà tôi đã sử dụng một số drop down button.Cách định cấu hình kích thước ToolStripDropdownbutton để khớp với kích thước của nút thả xuống gốc?

Bất cứ khi nào trình đơn thả xuống được nhấp, nó sẽ hiển thị các mục, nhưng Chiều rộng của trình đơn thả xuống có vẻ là vấn đề, nó luôn luôn lớn hơn. Tôi muốn nó có cùng kích thước với nút đó.

Đây là một ảnh chụp màn hình:

Screenshot

Những gì tôi đang đấu tranh để cấu hình:

  1. Tôi muốn chiều rộng của thả xuống để được giống như nút.
  2. Mũi tên thả xuống phải lớn hơn.
  3. Nút phải cong, không theo kiểu phẳng, đó là nút ToolStripDropdownbutton.
+0

Bạn đang nói về WPF, Silverlight, winforms hay ...? – WaltiD

+0

AutoSize == có đúng không? – Blau

+2

Đó không phải là điều khiển thích hợp trong dải menu. Nó được thiết kế để sử dụng trên một ToolStrip. Và nó tự động kích thước chính nó đến chiều cao dải công cụ. Nó sẽ có một kích thước cố định trong một dải trình đơn vì bạn không thể thay đổi chiều cao của nó, nó được đặt trước bởi kích thước phông chữ. –

Trả lời

1

Đáng tiếc là bạn đang đi ngược lại các hạt để kiểm soát này, và bạn sẽ cần phải nghỉ mát để điều khiển của riêng bạn hoặc sơn tùy chỉnh để có được chính xác những gì bạn muốn.

Bạn sẽ có thể thay đổi hình dạng/kích thước của mũi tên thả xuống bằng cách sử dụng bức tranh tùy chỉnh. Bạn có thể hạn chế kích thước của menu thả xuống bằng cách ghi đè điều khiển. Tuy nhiên, khi trình đơn thả xuống có khoảng trống cho các dấu tích và chuỗi phím tắt, tôi nghi ngờ bạn có thể cần phải làm nhiều việc hơn bạn mong đợi.

Dưới đây là một vài gợi ý mà bạn có thể thấy hữu ích: http://connect.microsoft.com/VisualStudio/feedback/details/97456/owner-drawn-toolstripcombobox

Điều này cho thấy việc sử dụng ToolStripControlHost (đối chứng) để lưu trữ các điều khiển tùy ý. Với một ví dụ đơn giản tại địa chỉ: http://alala666888.wordpress.com/2010/07/15/custom-toolstripitem/

http://www.codeproject.com/KB/static/DropDownContainer.aspx Dự án này (mặc dù trong VB.Net) cho thấy nhiều vấn đề với văn bản điều khiển của riêng bạn để làm điều tương tự.

Ngoài ra còn có bài viết này về cách viết ToolStripRenderers: http://www.codeproject.com/KB/menus/CustomToolStripRenderer.aspx

Đây là một C# dựa ví dụ về một điều khiển tùy chỉnh: http://www.codeproject.com/KB/selection/office2003colorpicker.aspx

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