求解.net datagridview[i,e.rowindex].tooltiptext 延长显示时间。

会飞的孩纸 2012-03-28 10:27:51
不懂如何设置tooltiptext延长显示时间,求大神帮忙。
...全文
216 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
maguzi2008 2012-03-29
  • 打赏
  • 举报
回复
lz是想直接修改datagridview的某个参数达到目的,这可能需要你自己编写一个继承类,应当也可以实现,那样以后就方便了!
会飞的孩纸 2012-03-29
  • 打赏
  • 举报
回复
private void dgvData_RowEnter(object sender, DataGridViewCellEventArgs e)
{
try
{
for (int i = 0; i < dgvData.Rows[e.RowIndex].Cells.Count; i++)
{
StringBuilder sbder = new StringBuilder();
sbder.AppendFormat("行数据基本信息:\r\n\t");
for (int j = 0; j < dgvData.Rows[e.RowIndex].Cells.Count; j++)
{
if (dgvData.Columns[j].Visible)
{
DataGridViewCell cell = dgvData.Rows[e.RowIndex].Cells[j];
if (cell.Value.ToString() != string.Empty)
{
sbder.AppendFormat("{0}:{1}\r\n\t", dgvData.Columns[j].HeaderText, cell.Value.ToString());
}
}
}
dgvData[i, e.RowIndex].ToolTipText = sbder.ToString();

}
}
catch
{
}
}
要延长这个显示时间
会飞的孩纸 2012-03-29
  • 打赏
  • 举报
回复
上面两种方法试过,不行啊!
觉悟之时 2012-03-28
  • 打赏
  • 举报
回复
private void myRadGridView1_ToolTipTextNeeded(object sender, Telerik.WinControls.ToolTipTextNeededEventArgs e)
{
ToolTip toolTip = this.myRadGridView1.ElementTree.ComponentTreeHandler.Behavior.ToolTip;
toolTip.AutoPopDelay = 2000;
e.ToolTipText = "Hello";
}



private void radGridView_ToolTipTextNeeded(object sender, ToolTipTextNeededEventArgs e)
{
RadElement element = sender as RadElement;

if (element == null)
{
return;
}

ComponentBehavior behavior = (element.ElementTree.ComponentTreeHandler as IComponentTreeHandler).Behavior;
PropertyInfo toolTipProperty = typeof(ComponentBehavior).GetProperty("ToolTip", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty);
object toolTip = toolTipProperty.GetValue(behavior, null);
Type radToolTipType = toolTip.GetType();

PropertyInfo automaticProperty = radToolTipType.GetProperty("AutomaticDelay");
PropertyInfo autoPopDelayProperty = radToolTipType.GetProperty("AutoPopDelay");
PropertyInfo initialDelayProperty = radToolTipType.GetProperty("InitialDelay");
PropertyInfo reshowDelayProperty = radToolTipType.GetProperty("ReshowDelay");

int automaticDelay = 60000000;
int autoPopDelay = 60000000;
int initialDelay = 60000000;
int reshowDelay = 60000000;

automaticProperty.SetValue(toolTip, automaticDelay, null);
autoPopDelayProperty.SetValue(toolTip, autoPopDelay, null);
initialDelayProperty.SetValue(toolTip, initialDelay, null);
reshowDelayProperty.SetValue(toolTip, reshowDelay, null);

e.ToolTipText = "This is tooltip text";
}
觉悟之时 2012-03-28
  • 打赏
  • 举报
回复
private void timer1_Tick(object sender, EventArgs e)
{
toolTip1.Active = false;
toolTip1.Active = true;
}
把timer控件的时间设置长一点试试。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧