台灣最大程式設計社群網站
線上人數
1676
 
會員總數:244782
討論主題:188836
歡迎您免費加入會員
討論區列表 >> C# >> 取得TEXTBOX換行後內容
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
取得TEXTBOX換行後內容
價值 : 30 QP  點閱數:225 回應數:3

樓主

施勇誌
門外漢
0 2
72 3
發送站內信

最近在做一個功能是
我取得到文章的內容
但內容因為中英文穿插 或 全英文 全中文
需要重新排版內容

有時候內容裡面也會有作者自己的排版
比如作者自己用空格排版 或 換行

我把作者的內容填入 TEXTBOX 設定 MULTILINE 多行了
但我需要把經由 TEXTBOX 排版後的內容 製成PDF檔

我使用 TEXTBOX.LINE
沒有辦法取得經由TEXTBOX 排版後的內容樣式

比如 我一行要 10個字

內容:

12345678901234567890

經由TEXTBOX 排版後 會變成

1234567890
1234567890

但我使用 TEXTBOX.LINE 只會取得1個 LINE
其內容為 12345678901234567890

想問一下有什麼方法 可以取得經由TEXTBOX 排版過後的內容 ?

搜尋相關Tags的文章: [ TEXTBOX ] , [ 自動換行 ] , [ 取得排版後的內容 ] ,
本篇文章發表於2019-04-24 10:18
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

施勇誌
檢舉此回應
原始是看到 DELPHI 用 MEMO 的方式去將內容換行

但因要配合改版 , 嘗試用 C# 的方式 但不知道該怎麼做才對 請求大家幫忙
本篇文章回覆於2019-04-24 10:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

P陳
檢舉此回應
一般而言用 Split 即可解決這個問題
1。先找到換行的碼 可能是 vblf 或是 vbcrlf 或是 vbcr (沒看到您的資料無法確定)
2.假如是 vbcrlf
dim allLines() as string
allLines=split(textbox1.text,vbcrlf)
allLines(0)="1234567890"
allLines(1)="1234567890"
本篇文章回覆於2019-04-24 17:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

施勇誌
檢舉此回應
因為內容不一定 且有時後作者是用 TAB 或 空格 來排版 導致沒辦法依據一個換行碼進行排版
後來有找到方法

程式碼如下
RICHTEXTBOX 內容為作者的文章
REPORTCONTENT 是整理過後的暫存

while (richTextBox1.GetFirstCharIndexFromLine(i) != -1)
{
int StartIndex = richTextBox1.GetFirstCharIndexFromLine(i);
int EndIndex = richTextBox1.GetFirstCharIndexFromLine(i + 1);
if (EndIndex == -1)
{
if (!richTextBox1.Text.Substring(StartIndex).Contains("\n"))
ReportContent.Add(" " + richTextBox1.Text.Substring(StartIndex) + "\n");
else
ReportContent.Add(" " + richTextBox1.Text.Substring(StartIndex));
}
else
{
if (!richTextBox1.Text.Substring(StartIndex, EndIndex - StartIndex).Contains("\n"))
ReportContent.Add(" " + richTextBox1.Text.Substring(StartIndex, EndIndex - StartIndex) + "\n");
else
ReportContent.Add(" " + richTextBox1.Text.Substring(StartIndex, EndIndex - StartIndex));
}
i++;
}

希望也能夠幫助到 需要我這種功能的大家 。
本篇文章回覆於2019-04-25 10:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.