c# 在TextBox里实现右键单击移动光标位置(让右键单击和左键单击有一样的效果)
2010-08-11 11:42
507 查看
需要using System.Runtime.InteropServices;
TextBox是多行的 如何使TextBox的光标始终处于能看到的第一个文字的前面 也就是控件的座上角 (或者可以描述为让光标随着滚动条的移动改变位置)
思路:问题关键是textbox没有滚动条事件,如果有这个事件,用上面代码实现
找到textbox左上角的位置调用AutoClick方法,把里面的SetCursorPos(p.X, p.Y);
改成SetCursorPos(x,y);
思路是有 但还是不知道怎么 想到的请留言
[DllImport("User32")] public extern static void mouse_event(int dwFlags, int dx, int dy, int dwData, IntPtr dwExtraInfo); [DllImport("User32")] public extern static void SetCursorPos(int x, int y); [DllImport("User32")] public extern static bool GetCursorPos(out POINT p); [StructLayout(LayoutKind.Sequential)] public struct POINT { public int X; public int Y; } public enum MouseEventFlags { Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, MiddleDown = 0x0020, MiddleUp = 0x0040, Wheel = 0x0800, Absolute = 0x8000 } private void AutoClick(int x, int y) { POINT p = new POINT(); GetCursorPos(out p); try { SetCursorPos(p.X, p.Y); mouse_event((int)(MouseEventFlags.LeftDown | MouseEventFlags.Absolute), 0, 0, 0, IntPtr.Zero); mouse_event((int)(MouseEventFlags.LeftUp | MouseEventFlags.Absolute), 0, 0, 0, IntPtr.Zero); } finally { SetCursorPos(p.X, p.Y); } } private void textBox1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { AutoClick(e.X,e.Y); } }
TextBox是多行的 如何使TextBox的光标始终处于能看到的第一个文字的前面 也就是控件的座上角 (或者可以描述为让光标随着滚动条的移动改变位置)
思路:问题关键是textbox没有滚动条事件,如果有这个事件,用上面代码实现
找到textbox左上角的位置调用AutoClick方法,把里面的SetCursorPos(p.X, p.Y);
改成SetCursorPos(x,y);
思路是有 但还是不知道怎么 想到的请留言
相关文章推荐
- C#:光标通过上下键或者enter键从一个textBox移动到另一个textBox或实现按键click功能
- .NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
- 老土但有效的刷百度空间人气不被封的方法(C#实现操纵鼠标事件,单击、移动、滚轮)
- C# 鼠标移动到指定位置,并且单击
- c#使用win32api实现获取光标位置
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
- C#中控制TextBox的光标位置
- C#控制光标在文本框(TextBox)中的位置
- C#如何实现标题栏随鼠标移动的效果?
- 用户从手机的浏览器访问www.baidu.com,看到的可能跟桌面PC电脑,是不太一样的网页效果,会更适合移动设备使用。请简要分析一下,实现这种网页区分显示的原因及技术原理。
- C# 实现 TextBox内容全部选择的效果 select()
- JS在TextArea光标位置插入文字并实现移动光标到文字末尾
- textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
- C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作
- c# 获取文本框(TextBox)中鼠标,光标位置
- C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作
- JS+CSS实现几个DIV层上下移动交换位置的效果
- textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
- winform程序多行textbox滚动条移动当前光标位置
- 黄聪:C#控制定位Word光标移动到任意行或者最后一行,取得光标位置等操作