我有一個多行的DataGridView,你會如何找到字符串在Cell.Value
字符串中的位置?如何找到一行在dataGridView單元格中的位置?
0
A
回答
1
string testLength = "1";
private void DataSheets_Load(object sender, EventArgs e) //DataGridView, 2 columns
{
clmData.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
Data.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
Data.DefaultCellStyle.Font = new Font("Courier", 8);
RunWidth();
}
void RunWidth()
{
int l1 = len(testLength);
int l2 = len(testLength + testLength);
int perChar = l2 - l1;
int pad = l1 - perChar;
int s7 = pad + (perChar * 75);
int s5 = pad + (perChar * 50);
Data.Columns[0].Width = s7;
Data.Columns[1].Width = s5;
}
public int len(string text)
{
Size te = TextRenderer.MeasureText(text, new Font("Courier", 8));
return te.Width;
}
我自己解決了這個問題,但如果有人找到更多的方法來找到類似的功能,請繼續發佈結果。
+1
YOu可以接受你自己的帖子 – Kinected 2013-02-24 02:18:34
0
只是因爲它有很多的好消息:
Here's a very well elaborated answer on differences between TextRenderer.MeasureText()
and Graphics.MeasureString()
我有一個類似的問題;我想知道有多少行被包裹when drawing a DataGridViewRow
by myself創建(代碼是C++/CLI):
void PaintRow (Object^ sender, DataGridViewRowPrePaintEventArgs^ e)
{
...
int iCharacters = 0, iLines = 0;
SizeF oLayoutArea ((float)dgvRow->Cells[ixCell]->Size.Width, 0);
SizeF oTextSize = e->Graphics->MeasureString (sText,
dgvRow->Cells[ixCell]->InheritedStyle->Font,
oLayoutArea,
oStringFormat,
iCharacters,
iLines);
關於你的問題:
我將採取相同的代碼,並找出有多少行是由完整的創建字符串,例如2行。
然後取一半字符串,並檢查你得到的行數,例如1行。
因爲之前的行數不多,我會再次讀取更多文本(總是差異的一半)並再次測試。 繼續下去,直到你把它分解成一個字符,並得到你的結果長度適合沒有包裝。
相關問題
- 1. 確定DataGridView中的單元格位置
- 2. 如何獲取control.MouseDown上的DataGridView中單元格的位置?
- 3. XPath的:找到不同的行中同一位置的表格單元格
- 4. vb.net winforms datagridview如何判斷用戶在單元格中單擊的位置
- 5. 如何在datagridview的最後一行獲取一些單元格?
- 6. 如何隱藏DataGridView控件上的當前單元格位置?
- 7. 在Datagridview中限制點(。)單元格的開始位置
- 8. 如何在DataGridView單元格中設置格式掩碼?
- 9. 如何在DataGridView中查找具有相同值的單元格?
- 10. 如何在DataGridView中編輯單元格?
- 11. 如何在DataGridView中獲取當前單元格的位置x和y?
- 12. 如何找到單擊Gtk IconView的單元格中的光標位置?
- 13. 如何在DataGridView中設置單元格的字體顏色?
- 14. 如何從DragDrop事件定位datagridview行或單元格?
- 15. 如何設置DataGridView中單個單元格的背景顏色?
- 16. 如何驗證DataGridView中的單元格?
- 17. 如何更新datagridview中的單元格?
- 18. Datagridview設置單元格只讀,除了第一個單元格
- 19. 如何找出tableView單元格中contentViews的位置?
- 20. Excel - 單元格的查找點位置
- 21. DataGridView System.InvalidOperationException單元格不在DataGridView中
- 22. datagridview行單元格值
- 23. 在表格視圖單元格中查找UIView的x位置
- 24. DataGridView中的換行符單元格vb.net
- 25. DataGridView單元格中的多行
- 26. 如何在DataGridView單元格中爲工具提示設置autoPopDelay?
- 27. DataGridView單元格
- 28. 如果DataGridView的單元格值大於另一個單元格
- 29. 如何在datagridview的單元格單擊事件上向datagridview添加新行?
- 30. 查找上一行中最後一個非空白單元格的位置
閱讀http://stackoverflow.com/faq – nawfal 2013-02-22 14:24:05
取決於您的列寬:http://msdn.microsoft.com/de-de/library/system.windows.forms.datagridviewcolumn.width.aspx – jAC 2013-02-22 14:24:30