vb點(diǎn)虐 代碼行數(shù) vbnet imemode

VB點(diǎn)虐 怎么顯示RichTextBox的行數(shù)、列數(shù)和總行數(shù)???

求行:

創(chuàng)新互聯(lián)長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為臺(tái)江企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站制作,臺(tái)江網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

RichTextBox1.GetLineFromChar(RichTextBox1.SelStart)+1

這個(gè)代碼呢,我的理解呢,是獲取在selstart的地方的行數(shù)。一般來講selstart的地方都是光標(biāo)的地方,然后會(huì)給你返回line。不過返回的時(shí)候要自己加1。不是很懂這個(gè)語法,有懂得可以教我一下

以上是求行數(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這種語法。所以就得自己模擬這個(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)度)的行來判斷唄,不過也得加一。

VB.NET中,如何獲得文本框中可見區(qū)域的首行的行號(hào)?

可先計(jì)算出文本框TextBox1中的總行數(shù),然后在行號(hào)框TextBox2中填上從1到總行數(shù)的行號(hào)。

再用API函數(shù)GetScrollPos分別獲得文本框和行號(hào)框當(dāng)前行號(hào),最后再使用API函數(shù)SendMessage使行號(hào)框的行號(hào)滾動(dòng)到對(duì)應(yīng)的行數(shù)。

因?yàn)槲谋究虻臐L動(dòng)條沒有滾動(dòng)事件,可以暫時(shí)使用一個(gè)Timer定時(shí)刷新,雖然方法笨了點(diǎn),但暫時(shí)只能這么用了

代碼如下:

Private Declare Function GetScrollPos Lib "user32" (ByVal handle As IntPtr, ByVal nbar As Integer) As Integer

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim a as integer

a = GetScrollPos(TextBox1.Handle, 1)

Dim b as integer

b = GetScrollPos(TextBox2.Handle, 1)

SendMessage(TextBox2.Handle, HB6, 0, a-b)

End Sub

vb點(diǎn)虐 如何統(tǒng)計(jì)datagridview某一列有值的行數(shù),代碼怎么寫?

int colIndex = 2;

int notNullRows = this.dataGridView1.Rows.OfTypeDataGridViewRow()

.Count(r = r.Cells[colIndex].Value != null);

vb點(diǎn)虐 報(bào)表設(shè)置記錄行數(shù)

Visualbasic代碼編輯器沒有這個(gè)功能,但可以用第三方的編輯軟件Emedit來實(shí)現(xiàn)這個(gè)功能。

1、用Emedit打開*.frm文件。

2、點(diǎn)工具,當(dāng)前配置屬性,然后勾選顯示行號(hào)即可。

網(wǎng)站標(biāo)題:vb點(diǎn)虐 代碼行數(shù) vbnet imemode
分享路徑:http://bm7419.com/article26/ddepgjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站建設(shè)建站公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作