最近再研究一个小程序,需要显示出来的内容不能被复制,再网上看到有说将TextBox的ReadOnly设置为True、ShortcutsEnabled设置为false,不过这样弄了之后内容虽然不能复制了,但是内容还是可以被选中(本人有点小完美主义,- -!,先自己笔视下自己),最终通过网上的资料和自己的研究总算有个较为完美的解决方案。
解决思路
通过Panel+Label达到效果。Panel提供滚动条,Label达到不能选中不能复制的效果。
参数设置
Panel
- AutoScroll=True
Label
- AutoSize=True
- Dock=Top
- MaximumSize=(Panel.width-15,0)//15为滚动条的宽度
实现
Panel
int lastRightPanelVerticalScrollValue = -1;//为鼠标滚动事件提供一个静态变量,用来存储上次滚动后的VerticalScroll.Value
panel.MouseWheel += Panel_MouseWheel;//添加鼠标的滚动事件
private void Panel_MouseWhe

本文介绍了如何在C#中使用Panel和Label组件来创建一个具有滚动条但禁止文本选中和复制的功能。通过设置Panel的AutoScroll属性为True,Label的AutoSize属性为True,Dock属性为Top以及MaximumSize属性来限制Label的大小,从而实现所需效果。
&spm=1001.2101.3001.5002&articleId=117445337&d=1&t=3&u=37a90c7599934d3090747c0c4a21cdf9)
2812

被折叠的 条评论
为什么被折叠?



