webbrowser selstart selLength
生活随笔
收集整理的這篇文章主要介紹了
webbrowser selstart selLength
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
附件:http://files.cnblogs.com/xe2011/Webbrowser_SelStart.rar
?
1 獲得webBrowser光標所在的位置
2 設置webBrowser光標的位置
3 獲得webBrowser選中的文本長度
4 選中webBrowser指定的字符串
?
?
?
項目添加引用Microsoft.mshtml
單元引用
using mshtml;?
??? 獲得webBrowser光標所在的位置
當有文本被選中時返回 的位置應為當 getSelectionStart() - getSelectionLength() /*function getSelectionStart(){var range=document.selection.createRange();range.moveStart('character', -document.body.innerText.length);return range.text.length;}*/private int getSelectionStart(WebBrowser webBrowser){try{IHTMLDocument2 document = (IHTMLDocument2)webBrowser.Document.DomDocument;IHTMLTxtRange range = (IHTMLTxtRange)document.selection.createRange();range.moveStart("character", -document.body.innerText.Length);return range.text.Length;}catch (System.Exception ex){//MessageBox.Show(ex.Message);//當光標在0這個位置使用功能引起錯誤return 0;}}?
??? 設置webBrowser光標的位置
?請看這個 選中指定的字符串 設置length=0,設置start的值就是光標的所在的位置
webBrowser1.Document.Focus();setSelection(webBrowser1, 6, 0);
??? 獲得webBrowser選中的文本長度
/*function getSelectionLength(){return document.selection.createRange().text.length;}*/private int getSelectionLength(WebBrowser webBrowser){try{IHTMLDocument2 document = (IHTMLDocument2)webBrowser.Document.DomDocument;IHTMLTxtRange range = (IHTMLTxtRange)document.selection.createRange();return range.text.Length;}catch (System.Exception ex){return 0;//當光標在0這個位置使用功能引起錯誤
}} ?
??? 選中webBrowser指定的字符串
/* function setSelection(start,length){var range=document.selection.createRange();range.collapse(true);range.moveStart('character', start);range.moveEnd('character', length);range.select();}*/public void setSelection(WebBrowser webBrowser, int start, int length){IHTMLDocument2 document = (IHTMLDocument2)webBrowser.Document.DomDocument;IHTMLTxtRange range = (IHTMLTxtRange)document.selection.createRange();range.collapse(true);range.move("textedit", -1); //光標移動到第0位處range.moveStart("character", start);range.moveEnd("character", length);range.select();} ?
?
?
完整代碼
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using mshtml;namespace WindowsFormsApplication1 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){webBrowser1.DocumentText = @"2013-12-07 19:14:20";webBrowser1.Document.ExecCommand("EditMode", false, null);}/*function getSelectionStart(){var range=document.selection.createRange();range.moveStart('character', -document.body.innerText.length);return range.text.length;}*/private int getSelectionStart(WebBrowser webBrowser){try{IHTMLDocument2 document = (IHTMLDocument2)webBrowser.Document.DomDocument;IHTMLTxtRange range = (IHTMLTxtRange)document.selection.createRange();range.moveStart("character", -document.body.innerText.Length);return range.text.Length;}catch (System.Exception ex){//MessageBox.Show(ex.Message);//當光標在0這個位置使用功能引起錯誤return 0;}}/*function getSelectionLength(){return document.selection.createRange().text.length;}*/private int getSelectionLength(WebBrowser webBrowser){try{IHTMLDocument2 document = (IHTMLDocument2)webBrowser.Document.DomDocument;IHTMLTxtRange range = (IHTMLTxtRange)document.selection.createRange();return range.text.Length;}catch (System.Exception ex){return 0;//當光標在0這個位置使用功能引起錯誤 }}/* function setSelection(start,length){var range=document.selection.createRange();range.collapse(true);range.moveStart('character', start);range.moveEnd('character', length);range.select();}*/public void setSelection(WebBrowser webBrowser, int start, int length){IHTMLDocument2 document = (IHTMLDocument2)webBrowser.Document.DomDocument;IHTMLTxtRange range = (IHTMLTxtRange)document.selection.createRange();range.collapse(true);range.move("textedit", -1); //光標移動到第0位處range.moveStart("character", start);range.moveEnd("character", length);range.select();}//選中指定的字符串private void button1_Click(object sender, EventArgs e){webBrowser1.Document.Focus();setSelection(webBrowser1, 0, 4);}//光標所在的位置private void button2_Click(object sender, EventArgs e){webBrowser1.Document.Focus();int i = (int)getSelectionStart(webBrowser1);Text = i.ToString();}//選中的字符串長度private void button3_Click(object sender, EventArgs e){webBrowser1.Document.Focus();Text = getSelectionLength(webBrowser1).ToString();}//設置光標的位置private void button4_Click(object sender, EventArgs e){webBrowser1.Document.Focus();setSelection(webBrowser1, 6, 0);}} } View Code?
?
?
?
?
這是翻譯JAVA SCRIPT的代碼
"<script> function getCommandValue(commandId){return document.queryCommandValue(commandId); } function getSelectionStart(){var range=document.selection.createRange();range.moveStart('character', -document.body.innerText.length);return range.text.length; } function getSelectionLength(){return document.selection.createRange().text.length; } function setSelection(start,length){var range=document.selection.createRange();range.collapse(true);range.moveStart('character', start);range.moveEnd('character', length);range.select(); } </script>" View Code?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/xe2011/p/3463124.html
總結
以上是生活随笔為你收集整理的webbrowser selstart selLength的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android自定义XML属性以及遇到的
- 下一篇: 新学C++的for,switch和随机数