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文本框只读相关主题介绍,如果您觉得小编更新的文章对您有所帮助,不要忘记讲本站分享给您身边的朋友哦!!