2016-12-30 30 views
-2

我有一个问题...我试图悬停与另一个标签的标签的特定单词,但我不知道如何获得来自标签文本的特定单词位置。如果至少能够帮助我,我会非常高兴,如何获得标签中的单词位置。我不得不说,标签Autosize是错误的,所以它可能不止一行。谢谢!从标签中获取一个单词位置并将其与另一个标签c悬停在一起#

+0

真的有必要通过隐藏另一个标签来解决问题吗?单词的位置取决于许多因素(例如字体大小,字体样式等)。 –

+0

这是一个Windows窗体应用程序或网站?也许你应该试着将这个标签转换成3个标签,所以这个词只在中间,并且只在那个标签上加上悬停逻辑。 – Andrew

回答

0

如果我理解正确,您希望引用某个标签的.Text属性中的某个单词,并将其悬停在第一个标签上时将其用于另一个标签。

如果您已经知道您想要的字符串中包含哪个单词,那很容易。您可以通过字母的0-索引位置来获取它,因为字符串实际上只是一个Char类型的数组。您还可以使用String类技巧,如.Substring()来获取单词。

我认为您添加的复杂程度是(如果我错了,那么纠正我)您希望第二个标签显示鼠标悬停时鼠标悬停的特定单词在第一个标签上。这涉及到获取标签的坐标以及指针,以及确定“什么是一个词,真的?”的一个相当复杂的方法。如果可能的话,我会将你的源标签分成每个单词的标签。这可以通过从自定义控件中的标签(或容器,如面板)类继承动态标签并将其作为一个属性给它一个IEnumerable标签来完成。这样做,您可以在运行时分配OnHover处理程序,并将这些事件评估为单独的标签,而不必进行数学计算,并希望屏幕分辨率更改不会破坏您的一天。

相关问题