首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >防止高度控制在设计时调整大小

防止高度控制在设计时调整大小
EN

Stack Overflow用户
提问于 2017-04-13 03:46:13
回答 2查看 611关注 0票数 1

假想

当用户在TextBox控件上删除WindowsForms设计器时,设计器只显示两个调整控件大小的选择器:

...Unless TextBox.MultiLine属性是手动启用的。

但是,如果我们添加一个RichTextBox,它将显示8个大小选择器:

如果启用了...even属性,则为RichTextBox.MultiLine

发问

我想做的是对一个RichTextBox类进行子类化,以模仿TextBox在设计时默认的大小调整行为,这意味着如果RichTextBox不是多行的话,可以防止高度/角的大小调整。

确切地说,我希望在设计时删除/隐藏高度和角大小选择器,因此子类RichTextBox应该只显示两个大小选择器来调整控件的宽度,如TextBox上面的图像所示。

我知道method可以防止设计时的高度调整,但是我想要做的比那个解决方案要远一点,因为这个解决方案并没有删除那些大小选择器-- ...and只是让大小选择器在设计时可见是一种丑陋和混乱的行为。

我检查了官方的TextBox类源代码以查看property value is changed,但没有看到任何相关的内容。

可能涉及分配给TextBox类(System.Windows.Forms.Design.TextBoxBaseDesigner)的TextBox类,并且可能是谁在设计时决定了调整大小的行为?在这种情况下,我能做什么以及如何做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-13 08:11:37

此行为由TextBoxBaseDesigner实现。也是RichTextBoxDesigner的基类,所以您可以很好地使用设计器。这里缺少的是AutoSize属性,RichTextBox隐藏它。当您将Multiline属性更改为False时,需要将其设置为True。设计器不能这样做,因为它是隐藏的,默认值是假的。

通过从RichTextBox派生您自己的类,这很容易修复:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.ComponentModel;
using System.Windows.Forms;

class RichTextBoxEx : RichTextBox {
    public RichTextBoxEx() {
        base.AutoSize = true;
        base.Multiline = false;
    }
    [DefaultValue(true), Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
    public override bool AutoSize {
        get => base.AutoSize;
        set => base.AutoSize = value;
    }
    [DefaultValue(false)]
    public override bool Multiline {
        get => base.Multiline;
        set {
            base.Multiline = value;
            base.AutoSize = !base.Multiline;
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2017-04-13 07:29:43

这些值称为“大小句柄”,由与控件关联的设计器中的SelectionRules()方法确定。需要记住的一点是,常规TextBox的默认设置是MultiLine = False,但对于RichTextBox则相反。

在引用源中找不到任何相关内容的原因是因为System.Windows.Forms.Design.TextBoxDesignerinternal / Friend。还请注意,更改MultiLine属性将导致重新创建控件(源中的RecreateHandle();)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Imports System.Windows.Forms.Design

<Designer(GetType(RTBElektroDesigner))>
Public Class RTBElektro
    Inherits RichTextBox

    Public Sub New()
    End Sub
End Class

Public Class RTBElektroDesigner
    Inherits System.Windows.Forms.Design.ControlDesigner

    Public Overrides ReadOnly Property SelectionRules() As SelectionRules
        Get
            Dim rtb = TryCast(MyBase.Control, RTBElektro)
            If rtb Is Nothing Then
                Return MyBase.SelectionRules
            Else
                If rtb.Multiline Then
                    Return SelectionRules.AllSizeable Or
                            SelectionRules.Moveable
                Else
                    Return SelectionRules.LeftSizeable Or
                            SelectionRules.RightSizeable Or
                            SelectionRules.Moveable
                End If
            End If
        End Get
    End Property
End Class

结果:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43391459

复制
相关文章
学习用于视觉跟踪的深度紧凑图像表示
在本文中,我们研究了跟踪可能非常复杂背景的视频中运动物体轨迹的挑战性问题。与大多数仅在线学习跟踪对象外观的现有跟踪器相比,我们采用不同的方法,受深度学习架构的最新进展的启发,更加强调(无监督)特征学习问题。具体来说,通过使用辅助自然图像,我们离线训练堆叠去噪自动编码器,以学习对变化更加鲁棒的通用图像特征。然后是从离线培训到在线跟踪过程的知识转移。在线跟踪涉及分类神经网络,该分类神经网络由训练的自动编码器的编码器部分构成,作为特征提取器和附加分类层。可以进一步调整特征提取器和分类器以适应移动物体的外观变化。与一些具有挑战性的基准视频序列的最先进的跟踪器进行比较表明,当我们的跟踪器的MATLAB实现与适度的图形处理一起使用时,我们的深度学习跟踪器更准确,同时保持低计算成本和实时性能单位(GPU)。
代码的路
2022/08/23
1.4K0
学习用于视觉跟踪的深度紧凑图像表示
markdown中的数学公式表示
\iint \limits_d {f(x,y)} {\rm d}x{\rm d}y
哲学家阿多诺
2024/10/15
1240
markdown中的数学公式表示
机器学习 | 线性回归的数学表示
线性回归对已有数据进行建模,可以对未来数据进行预测。有些人觉得线性回归太过简单,甚至不屑于称之为机器学习;另外一些人觉得很多编程库已经对线性回归做了封装,使用时调用一下函数就好,不必了解太多数学推导过程。实际上,线性回归是所有机器学习技术的一个最好起点,很多复杂的机器学习技术以及当前大火的深度神经网络都或多或少基于线性回归。
PP鲁
2020/05/26
6690
机器学习 | 线性回归的数学表示
数学笔记(二)之平面表示
  假设我们知道垂直于平面的法向量n,以及平面上的一点p0,如何使用这两个元素来表示该平面呢?
用户2615200
2018/08/02
5500
Latex数学公式-求导、分数的表示
\frac{}{}:分数表示 \partial: 偏导符号 \mathrm{d}t:正规的导数d(正体)
全栈程序员站长
2022/09/10
1.3K0
以 React 的方式思考
React 很棒的一点是创建应用中引导你思考的过程。这篇文档中,我们将通过运用React创建一个产品搜索列表,来引导你熟悉这个思考过程。
fanzhh
2019/08/20
3.5K0
以 React 的方式思考
从粉笔到软件代码——用数学语言写作
大数据文摘授权转载自zzllrr小乐 作者:Whitney Clavin 译者:zzllrr小乐 在过去的几十年里,当研究人员不得不敲打打字机来撰写他们的科学论文时,他们经常会遇到障碍。这些机器,包括1960年代至1980年代流行的IBM Selectric系列,不包含数学符号的键,例如用于表示微积分的长“S”。当需要输入等式时,研究人员不得不寻找高尔夫球大小的银色球体,其中包含适当的字符以卡入打字机。有些人寻求解决方法来避免麻烦。 “我没有耐心使用IBM Selectric并切换球,”理查德·费曼理论物理
大数据文摘
2023/04/10
4960
从粉笔到软件代码——用数学语言写作
js将列表组装成树结构的两种方式
工作中偶尔就会遇到后端同学丢来一个列表,要我们自己组装成一个树结构渲染到页面上,本文以两种不同方式探索生成树的算法思想。
用户6256742
2024/06/30
2570
js将列表组装成树结构的两种方式
用Python出了3000道数学题,外甥表示要正月剪头!
过年期间发现小外甥已经上小学了,我姐说老师今天给他们布置了寒假作业:每天坚持做乘法和加减法混合运算。
快学Python
2023/03/06
5180
用Python出了3000道数学题,外甥表示要正月剪头!
【数学分析】集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
文章目录 一、集合概念 二、集合表示 三、常用的数集合 四、集合的表示 一、集合概念 ---- 集合概念 : 具有某种 特定性质 具体的 或 抽象的 对象 汇集的 总体 ; 上述概念中的 " 对象 “ 又称为 ” 集合元素 " ; 二、集合表示 ---- 集合 通常使用 大写字母 \rm S , T , A , B , X , Y 表示 ; 集合元素 使用 小写字母 \rm s , t , a , b , x , y 表示 ; 元素 \rm x 是集合 \rm S 的元素 , 则表示为 \
韩曙亮
2023/03/30
1.4K0
AI正以五种方式彻底颠覆软件测试手段?
AI技术正以五种方式改变软件测试工作测试人员应做好与AI机器人协作的准备,并将其作为能够在软件开发过程当中有效减轻日常工作量的完美助手。人工软件测试方法仍然具备重要价值,但人工智能(简称AI)亦在这一领域内稳步推进。凭借着广受好评的先进功能,人工智能可能将很快消除软件开发当中对手动测试的高度依赖。 人工智能正在改变软件测试以及人类与技术间的交互方式。人工智能将负责推进软件测试过程,而人们则专注于分析公众对于新应用的接受程度。除了帮助人类摆脱沉重的日常工作压力之外,人工智能也正在以下面五种方式彻底颠覆软件测试
机器人网
2018/04/12
9350
AI正以五种方式彻底颠覆软件测试手段?
[C#] 用委托表示回调
回调就是这样一种由服务端向客户端提供异步反馈的机制,它可能会涉及多线程(multithreading),也有可能只是给同步更新提供入口。C#语言用委托来表示回调。
科控物联
2022/03/29
4920
[C#] 用委托表示回调
机器学习中的新数学,加速AI训练离不开数字表示方式和基本计算的变革
近年来 AI 领域的发展令人震惊,但为完成这些壮举而训练神经网络的成本也异常巨大。以大规模语言模型 GPT-3 和艺术生成器 DALL-E 2 为例,它们需要在高性能 GPU 集群上训练数月时间,耗资数百万美元,消耗百万亿计的基本计算。
机器之心
2022/12/16
3510
机器学习中的新数学,加速AI训练离不开数字表示方式和基本计算的变革
以提问的方式提升团队能力
团队成员输出不够,解决问题能力达不到要求时,用职责的办法效果是最差的,指导的话有一定的效果,但是也限制了组员的主观能动性,而且一般来说也不容易被接受,最好的办法是提出引人深思的问题 营造谈话氛围 在谈话开始的时候,问几个轻松随意的小问题,让对方放松下来,以便之后能够畅所欲言。 什么是好的提问 (一句话)问题只有一句话:问题本身必须足够简短且能抓住事物的本质 (第一性)接近本质的提问:比如人际关系方面,本质的问题是关于对方真实想法,真实诉求,而不是表面表达的情绪 (探索)探索式问题:引导更多可能的解决方案
十毛
2022/08/23
2960
幸福,以人工智能的方式
莎莉·埃迪(Sally Adee)发现,具有情商的小玩意将很快和我们绑定在一起,为我们的生活带来欢乐。 “是布莱恩吗?你好吗,布莱恩?”这个声音是由一个巨大的蓝色卡通眼球操控的屏幕发出的,其瞳孔扩张的方式,使它看起来既友善又古怪,令人联想到皮克斯动画公司重新塑造的卡通形象哈尔。 这就是名为EmoSpark的机器人,它正在寻找它的主人。它的摄像头在其视野中搜寻一张脸,然后锁定住了我的脸,再次问我是否是布莱恩,它的呼唤听起来近乎可怜。 EmoSpark的大脑是一个边长90毫米的带有蓝牙和Wi-Fi的立方体
新智元
2018/03/13
9590
幸福,以人工智能的方式
以更好的方式使用 Vue Mixins
Mixin 组件在项目中经常被用来重用一些业务逻辑,但它们有一些不确定的细微差别,这在项目开发中越来越明显。我偶尔也会遇到这种情况,它们会给代码库的重构或新功能的开发带来困难。
前端小智@大迁世界
2022/05/09
5350
以最复杂的方式绕过 UAC
让我们从系统如何防止您绕过最无意义的安全功能开始。默认情况下,如果用户是本地管理员,LSASS 将过滤任何网络身份验证令牌以删除管理员权限。但是有一个重要的例外,如果用户是域用户和本地管理员,则 LSASS 将允许网络身份验证使用完整的管理员令牌。如果说您使用Kerberos在本地进行身份验证,这将是一个问题。这不是微不足道的 UAC 绕过吗?只需以域用户身份向本地服务进行身份验证,您就会获得绕过过滤的网络令牌?
Khan安全团队
2022/03/25
1.9K0
目录树结构
实际项目中后端生成目录树的json是比较常见的,hutool中提供了treeUtil使用起来比较方便。先做个记录
在水一方
2022/06/14
9340
数学不好?可能是你看待数学的方式不对:关于数学的心理表征
大数据文摘作品,转载具体要求见文末 编译团队 | Arcturus 卫青 对于你来说,数学是什么样子的?是由彼此关联的理念所构成的宏伟蓝图,亦或是一大堆混乱的符号组合?这两者的区别影响极大,因为你对数学的看法与你在数学这门课上的成功有着千丝万缕的联系。 我们都十分熟悉乘法表,它在全世界的课堂教育和家庭教育中都占据核心地位。 标准乘法表 你无法从这幅图中挑出任何毛病。这一表格相当直截了当:看起来就像一连串彼此独立的,事实真理的矩阵集合。它一直被反复地学习、记忆和回顾。然而,在受过训练的人眼中,这一表格的
大数据文摘
2018/05/21
8270
使用BigDecimal进行科学计算表示方式的转换
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149549.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/05
6940

相似问题

如何在NoSQL中表示树结构

20

用代码记录数学逻辑

40

以图解方式表示系统线程体系结构的最佳方法是什么?

10

是否有软件测试的形式化/数学理论?

40

如何以编程方式表示几何线?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文