c#在运行时更改标签(控件)的位置

betaFlux

默认工具提示不适用于我,因此我使用标签控件及其“可见”属性作为自定义工具提示,并在按下键时将其作为错误弹出窗口。因此,现在我尝试动态设置标签的位置(在我的情况下为textBox的位置),但它始终显示在表单的左上角。

方法如下:

    void ShowCustomToolTip(string text, Control targetControl, int duration = 1000, int x = 0, int y = 0)
    {
        customToolTip.Text = text;
        customToolTip.Visible = true;

        // the crucial line that needs to be changed, I guess
        customToolTip.Location = new Point(targetControl.Location.X + x, targetControl.Location.Y + y);

        Set.Timer(duration);
        customToolTip.Hide();
    }

我该怎么做?谢谢!

戴维

问题是Control.Location给您当前容器中的位置。您只需要相对于以下形式获取控件的绝对位置即可:

void ShowCustomToolTip(string text, Control targetControl, int duration = 1000, int x = 0, int y = 0)
{
    customToolTip.Text = text;
    customToolTip.Visible = true;

    Point absoluteLocation = targetControl.FindForm().PointToClient(
        targetcontrol.Parent.PointToScreen(control.Location));

    // the crucial line that needs to be changed, I guess
    customToolTip.Location = new Point(absoluteLocation.X + x, absoluteLocation.Y + y);

    Set.Timer(duration);
    customToolTip.Hide();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C# 表单在运行时添加控件

来自分类Dev

在 wpf C# 中在运行时更改标签文本

来自分类Dev

在运行时根据 UISegmented 控件的选择隐藏标签

来自分类Dev

如何在vb.net Windows窗体中在运行时更改TableLayoutPanel控件中控件的位置

来自分类Dev

为什么在运行时不向控件的位置属性分配新值会更改其位置?

来自分类Dev

使用C#中的上下文菜单在运行时删除控件

来自分类Dev

在运行时PictureBox控件中找不到图像属性C#

来自分类Dev

如何在运行时C#中清除表单控件

来自分类Dev

如何在运行时更改标签约束?

来自分类Dev

如何在运行时更改按钮标签?

来自分类Dev

Python在运行时更改日志文件位置

来自分类Dev

在运行时更改错误日志位置

来自分类Dev

在运行时更改融合位置优先级

来自分类Dev

在运行时更改融合位置优先级

来自分类Dev

Imageview在运行时更改位置-Swift

来自分类Dev

c# 在运行时向面板添加标签

来自分类Dev

在运行时移动控件

来自分类Dev

C#反射-在运行时确定依赖项的位置

来自分类Dev

C#在运行时更改自定义连接字符串

来自分类Dev

在C#中,在运行时将属性更改为只读

来自分类Dev

使用 C# 在 Selenium.Webdriver + PhantomJS 中在运行时更改代理

来自分类Dev

在运行时更改选项卡项标题(WPF、c#)

来自分类Dev

我们可以在运行时在 C# 中为运行时创建的控件创建多个事件吗

来自分类Dev

在C#Winform中在运行时更改语言

来自分类Dev

在运行时中删除标签

来自分类Dev

在运行时隐藏标签

来自分类Dev

在运行时中删除标签

来自分类Dev

如何使面板在运行时不绘制C#

来自分类Dev

C#在运行时后期绑定卸载Dll

Related 相关文章

热门标签

归档