gpt4 book ai didi

c# - 限制自定义控件的可调整大小尺寸 (c# .net)

转载 作者:行者123 更新时间:2023-11-30 15:10:38 24 4
gpt4 key购买 nike

我正在 MS Visual C# 中制作用户控件,但有一件事我找不到答案:

如何限制控件在设计 View 中可以调整大小的尺寸?

为了清楚地说明我要问的问题,内置的 TrackBar 控件只能做得更宽,不能做得更高,并且在设计模式下只能在左右两侧显示调整大小的方 block 。有没有办法为用户控件复制它?

我已经尝试在设计器中为我的控件设置 MinimumSize 和 MaximumSize 值,但这并没有给出理想的结果。

最佳答案

要获得您正在谈论的完整行为(顶部/底部或左侧/右侧没有装饰器)和设计时环境中的自定义功能,您可能不得不求助于为您的控件构建自定义控件设计器.

这是一个很大的话题,因为您可以做很多事情。实际上,您要做的是创建一个继承自 ControlDesigner 的类,覆盖您需要的任何功能,然后使用 DesignerAttribute 在您的用户控件上注册它,指定 typeof(IDesigner) 用于第二个参数(第一个参数是您自定义的 ControlDesigner 派生类型)。

Enhancing Design-time Support
Custom Designers
ControlDesigner class example
Custom Design-time Control Features in Visual Studio .NET

现在,对于 TrackBar,它有自己的设计器来覆盖 ControlDesigner.SelectionRules属性(property)。此属性仅允许您返回一个枚举值(它是一个 Flags 枚举,因此您可以将它们组合在一起)指示您的设计时选择装饰器如何出现(或不出现)。一旦您通过设计器限制了设计时调整大小,您的控件本身就可以简单地限制其自身的大小 vai SetBoundsCore .

关于c# - 限制自定义控件的可调整大小尺寸 (c# .net),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3093550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com