Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在datagridview单元格中显示长文本_C#_Datagridview_Textbox - Fatal编程技术网

C# 在datagridview单元格中显示长文本

C# 在datagridview单元格中显示长文本,c#,datagridview,textbox,C#,Datagridview,Textbox,我试图将一个字符串中包含的大约100-500个单词的文本显示在datatable的一行的两列中,然后将其设置为DataGridView控件的DataSource值 现在,即使它呈现非常缓慢/滚动需要永远 我已经将DefaultStyleMode设置为WordWrap=true,并调整了行高以显示文本 有没有其他方法可以加快这一速度,或者我应该研究向DataGridView的单元格中添加文本框?如果只显示几个字符并使其可单击,那么当用户单击它时,整个文本都可以显示在弹出窗口中呢 首先,您必须已将原

我试图将一个字符串中包含的大约100-500个单词的文本显示在datatable的一行的两列中,然后将其设置为
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这也是个好主意。有几种方法可以做到这一点。这取决于开发者的想象力。他可以在鼠标悬停时放一个“手”光标,等等。