求行:
目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、坪山網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
RichTextBox1.GetLineFromChar(RichTextBox1.SelStart)+1
這個(gè)代碼呢,我的理解呢,是獲取在selstart的地方的行數(shù)。一般來講selstart的地方都是光標(biāo)的地方,然后會(huì)給你返回line。不過返回的時(shí)候要自己加1。不是很懂這個(gè)語(yǔ)法,有懂得可以教我一下
以上是求行數(shù)。
求列:
For i = 0 To RichTextBox1.SelStart
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart - i) 0 Then Exit For
j = j + 1
Next i
這個(gè)for循環(huán)呢,講的是檢查這一行光標(biāo)前有多少個(gè)列,然后用J輸出列的個(gè)數(shù)。
因?yàn)閂B6.0沒有RichTextBox1.GetFirstCharIndexOfCurrentLine這種語(yǔ)法。所以就得自己模擬這個(gè)過程。
具體怎么檢查的呢,首先將 i 從0循環(huán)到光標(biāo)處,
如果 【光標(biāo)字符數(shù)】處的行數(shù) 減去 【光標(biāo)字符數(shù)減去 i 個(gè)字符數(shù)】處的行數(shù)小于0了,我寫了個(gè)不為零。但此時(shí)寫小于零就可以。那么代表著換行了,同時(shí)也代表著光標(biāo)到上一行之間有多少字。用j存儲(chǔ)循環(huán)次數(shù),得出對(duì)應(yīng)列數(shù)。(我們中文習(xí)慣是叫第一列,但程序?qū)嶋H上是第零列,但在循環(huán)的時(shí)候就注意到并解決這個(gè)問題了)
如果你替換寫法,例如
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart + i) 0 Then Exit For
j = j + 1
Next i
這個(gè) J 就對(duì)應(yīng)著光標(biāo)到該行結(jié)尾有幾個(gè)字符了,如果有需要可以使用,但一般不需要。
那么就像上面說的那樣,行列都求出來了,最后用事件和TEXT或者caption表現(xiàn)出來就好了
至于說總行數(shù)
RichTextBox1.GetLineFromChar(Len(RichTextBox1.Text)) + 1
通過對(duì)最后一個(gè)字符的位置(總長(zhǎng)度)的行來判斷唄,不過也得加一。
Me.Height = My.Computer.Screen.Bounds.Height
Me.Width = My.Computer.Screen.Bounds.Width
這是設(shè)置窗體的長(zhǎng)寬和屏幕的分辨率一樣大小,相當(dāng)于全屏。
如果Me.WindowState=FormWindowState.Maximized的話,只是單純的將窗體最大化,但恢復(fù)窗口大小后窗體的大小實(shí)際上還和原來一樣大。
VB.NET的特點(diǎn)
1.真正成為面向?qū)ο笠约爸С掷^承性的語(yǔ)言。
2.窗體設(shè)計(jì)器支持可視化繼承,并且包含了許多新的特性,比如自動(dòng)改變窗體大小、資源本地化支持、數(shù)據(jù)類工具內(nèi)在支持XML數(shù)據(jù)。
3.直接建立在.NET的框架結(jié)構(gòu)上,因此開發(fā)人員可以充分利用所有.NET平臺(tái)特性,也可以與其他的.NET語(yǔ)言交互。
4.為Windows應(yīng)用程序提供了XCOPY部署,開發(fā)者不再需要為DLL的版本問題擔(dān)憂。
Me.Height = My.Computer.Screen.Bounds.Height\x0d\x0aMe.Width = My.Computer.Screen.Bounds.Width\x0d\x0a這是設(shè)置窗體的長(zhǎng)寬和屏幕的分辨率一樣大小,相當(dāng)于全屏。\x0d\x0a如果Me.WindowState=FormWindowState.Maximized的話,只是單純的將窗體最大化,但恢復(fù)窗口大小后窗體的大小實(shí)際上還和原來一樣大。
開發(fā)過程過程中我們通常對(duì)特定代碼片運(yùn)行所花的時(shí)間很感興趣 當(dāng)然有一些標(biāo)準(zhǔn)程序和代碼工具可以查看到它 但是有經(jīng)驗(yàn)的Visual Basic 開發(fā)者有更快的辦法 僅僅捕捉開始時(shí)間(使用Now關(guān)鍵字)和終止時(shí)間(再次使用Now關(guān)鍵字) 兩種相減 就能知道結(jié)果了
如果使用Visual Basic NET編寫 首先嘗試的代碼可能是這樣的
Dim StartTime As DateTime = Now {code to check for timing goes here} Dim EndTime As DateTime = Now Console WriteLine((StartTime EndTime) ToString)
但是這段代碼的最后一行有語(yǔ)法錯(cuò)誤 錯(cuò)誤消息是 日期類型沒有定義 - 操作符 這意味著我們不能執(zhí)行減法 日期數(shù)據(jù)類型不支持減法操作 那么我們?cè)趺吹玫絻纱螘r(shí)間的差別呢?
答案就是使用TimeSpan類 它是用于保持時(shí)間段的 上面的代碼看起來與 NET框架組件中的相似
Dim StartTime As DateTime = Now {code to check for timing goes here} Dim EndTime As DateTime = Now Dim RunLength As System TimeSpan RunLength = EndTime Subtract(StartTime) Console WriteLine(RunLength ToString)
計(jì)算使用的是類Date的Subtract方法 最后一行將輸出時(shí)間的跨度 格式化成小時(shí) 分鐘和秒(包括秒的小數(shù)位) 典型的輸出是這樣的
該時(shí)間跨度是 秒半 盡管顯示了 位小數(shù) 但是只能相信兩位 但是已經(jīng)足夠了
結(jié)論
lishixinzhi/Article/program/net/201311/11820