Login
网站首页 > 文章中心 > 其它

winform文本框只读

作者:小编 更新时间:2023-07-10 09:32:13 浏览量:242人看过

lable 是可以做到复制的。。我给你写了一个demo 可以发给你看下。QQ: 953954891

Form_Load 事件中,FORM并没有展现出来,只是加载相应的资源和组件。此时组件仍不可见,所以Focus事件不会生效。可以在 Shown 事件 或者 Actived 事件里,设置 focus

using System.Runtime.InteropServices;//加这个命名空间

namespace SY1

{

public partial class Form1 : Form

[DllImport("user32.dll", EntryPoint = "HideCaret")]

public static extern bool HideCaret(IntPtr hWnd);//用这个API

public Form1()

InitializeComponent();

}

private void Form1_Load(object sender, EventArgs e)

private void textBox1_MouseDown(object sender, MouseEventArgs e)

IntPtr hWnd = textBox1.Handle;

HideCaret(hWnd);//获得焦点时调用

然后把TextBox的边框设成None ,改成只读就可以了。

不谢~

非常简单,你直接放一个webBrowser1控件,然后

webBrowser1.DocumentText = "just a test";

webBrowser1.ScrollBarsEnabled = false;

就可以了。

还有一个不用API的变通的办法,

就是你再放一个隐藏的textBox2在form里

然后

private void textBox1_MouseUp(object sender, MouseEventArgs e)

textBox2.Focus();

private void textBox1_MouseClick(object sender, MouseEventArgs e)

也能达到你说的目的,但不是一个好办法。

另外不明白你为什么不用API现成的方法,而要自己去写。

直接设置Readonly = true就是只读的。

有什么特殊需求一定要重写windows消息?

如果一定需要重写,把定义的所有消息都return了吧

if (m.Msg == WM_SETFOCUS || m.Msg == WM_KEYDOWN || m.Msg == WM_KEYUP || m.Msg == WM_LBUTTONDOWN || m.Msg == WM_LBUTTONUP || m.Msg == WM_LBUTTONDBLCLK || m.Msg == WM_RBUTTONDOWN || m.Msg == WM_RBUTTONUP || m.Msg == WM_RBUTTONDBLCLK)

return;

Winform的 ClientRectangle 属性是只读的。意思是:你只能获取工作区的矩形的值(类型为Rectangle)而不能设置这个值。当你改变窗口的大小时, ClientRectangle 值是由Windows系统决定。

DataGrid1.ReadOnly = true;

lock

哦~那你题目有问题了~那个是手机程序开发,不是winfrom~winfrom是指windows应用程序

而且只读这个很难修改的说~一般就是enable,只读也就ReadOnly 属性=true

ReadOnly = true

dataGridView1.Rows[0].ReadOnly = true;

this.dataGridView1.ReadOnly = true;

这样设置就可以把DataGridView设置为只读模式!

以上就是土嘎嘎小编大虾米为大家整理的winform文本框只读相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章