1、winform
private void textBox1_Click(object sender, EventArgs e)
{
Form f = new Form();
f.StartPosition = FormStartPosition.Manual;
f.Left = MousePosition.X;
f.Top = MousePosition.Y;
f.Show();
}
2、web
-------------------------------------------------------------------------------------------------------------------------------
.NET C# 如何将光标置于 TextBox 控件中的文本的开头或末尾或当前位置
假设
若要将光标置于 TextBox 控件的内容的开头,应调用 Select 方法,并指定选择内容的起始位置为 0,选择长度为 0。
C#
textBox1.Select(0, 0);
若要将光标置于 TextBox 控件的内容的末尾,应调用 Select 方法,并指定选择内容的起始位置等于文本内容的长度,选择长度为 0。
C#
textBox1.Select(textBox1.Text.Length, 0);
若要将光标置于 TextBox 控件的内容的当前位置,应调用 Select 方法,并指定选择内容的起始位置等于光标的当前位置,选择长度为 0。
C#
textBox1.Select(textBox1.SelectionStart, 0);
---------------------------------------------------------------------------------------------------------------------------
至于楼主的问题,开始就focus在修改内容时你可以用appendtext这个方法增加改变text的内容,
这样增加后光标总是在最后,而且在textbox中,本来就是鼠标点到哪光标闪在哪的,这个不用做的
-----------------------------------------------------------------------------------------------------------------------------
//insert value into textarea
function insertAtCursor(myField, myValue) {
//IE support
if (document.selection) {
myField.focus();
sel = document.selection.createRange();
sel.text = myValue;
sel.select(); //MOZILLA/NETSCAPE support
else if (myField.selectionStart || myField.selectionStart == '0') {
var startPos = myField.selectionStart;
var endPos = myField.selectionEnd;
// save scrollTop before insert
var restoreTop = myField.scrollTop;
myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
if (restoreTop > 0) {
myField.scrollTop = restoreTop;
myField.focus();
myField.selectionStart = startPos + myValue.length;
myField.selectionEnd = startPos + myValue.length;
}
else {
myField.value += myValue;
myField.focus();
}
}
------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------
不用在线编辑器中的时候,鼠标焦点就简单的多了,只要在同一个页面获取到该控件的ID就。也包括了IE和非IE得插入图片
信息。
(其实图片信息就是一长短HTML的带标签的字符串)
var iRange= false;
function getImage(n) {
var areaproit = eval_r("window.document.Form." + n )
areaproit.focus();
iRange= document.selection.createRange();
}
//myField 光标所在的控件名 document.Form.XXX
//myValue 所要插入的值
function insertAtCursor(myField, myValue) {
if (document.selection) {
// IE support
iRange.text = myValue;
} else if (myField.selectionStart || myField.selectionStart == '0') {
// MOZILLA/NETSCAPE support
//起始位置
var startPos = myField.selectionStart;
//结束位置
var endPos = myField.selectionEnd;
//插入信息
myField.value = myField.value.substring(0, startPos)
+ myValue
+ myField.value.substring(endPos, myField.value.length);
} else {
//没有焦点的话直接加在TEXTAREA的最后一位
myField.value += myValue;
}
}