C# 在datagridview单元格中显示长文本
我试图将一个字符串中包含的大约100-500个单词的文本显示在datatable的一行的两列中,然后将其设置为C# 在datagridview单元格中显示长文本,c#,datagridview,textbox,C#,Datagridview,Textbox,我试图将一个字符串中包含的大约100-500个单词的文本显示在datatable的一行的两列中,然后将其设置为DataGridView控件的DataSource值 现在,即使它呈现非常缓慢/滚动需要永远 我已经将DefaultStyleMode设置为WordWrap=true,并调整了行高以显示文本 有没有其他方法可以加快这一速度,或者我应该研究向DataGridView的单元格中添加文本框?如果只显示几个字符并使其可单击,那么当用户单击它时,整个文本都可以显示在弹出窗口中呢 首先,您必须已将原
DataGridView
控件的DataSource
值
现在,即使它呈现非常缓慢/滚动需要永远
我已经将DefaultStyleMode
设置为WordWrap=true
,并调整了行高以显示文本
有没有其他方法可以加快这一速度,或者我应该研究向
DataGridView
的单元格中添加文本框
?如果只显示几个字符并使其可单击,那么当用户单击它时,整个文本都可以显示在弹出窗口中呢
首先,您必须已将原始文本存储在应用程序中的某个位置。让我们假设您有一个数组string[]text
你所要做的就是:
- 仅将部分文本添加到
控件,而不是整个文本DataGridView
string
类中的Split
方法执行此操作。例如:
string text = "Oscar Mederos";
string portion = text.Substring(0, 3); //portion will be "Osc"
如果需要,可以在字符串末尾添加…
- 对
的事件进行编程DataGridView
void DataGridView1_OnCellClick(object sender, DataGridViewCellEventArgs e)
{
int rowClicked = e.RowIndex;
int columnClicked = e.ColumnIndex;
///If the column clicked was the one that has the long texts,
//just find the original text in 'texts' using 'rowClicked' and show the
//message using MessageBox or creating a new Form for that purpose and
//showing it using ShowDialog()
}
如果只显示几个字符并使其可点击,那么当用户点击它时,整个文本可以在弹出窗口中显示出来呢?@Oscar Mederos-我真的很喜欢这个想法。你能给我举一些例子或链接来说明这个想法吗?谢谢@V4Vendetta。是的,这是针对Windows窗体的。我将其作为答案发布。那只是个想法。你的任务是实现它:)奥斯卡,我在我的一个应用程序中做了类似的事情。唯一的区别是,我没有显示几个字符,而是显示了一个看起来像带铅笔的记事本的图像。我只在该单元格中有文本时显示图像,因此没有图像的单元格表示该单元格中没有文本,有图像的单元格表示该单元格中有文本。我认为这对用户来说是个好主意。@RichardDesLonde这也是个好主意。有几种方法可以做到这一点。这取决于开发者的想象力。他可以在鼠标悬停时放一个“手”光标,等等。