Form.SetDesktopLocation随机失败,然后使表单回到其原始位置

时间:2019-04-26 09:40:00

标签: c# winforms

我正在Winforms C#中工作。 从数据库中获取表单的先前位置后,我需要在同一位置显示该表单,因此在显示的事件中,我对它使用SetDesktopLocation。但是有时会随机出现,该表格会弹出到所需位置,然后直接返回到它首先使用show方法显示的位置。 如果我在位置不正确时递归调用显示的事件,则可以正确设置它。

    private void Form_Shown(object sender, EventArgs e)
    {
        SetDesktopLocation(location_x, location_y);
        if(this.Location.X != location_x)
        {
            _log.Debug($"How can that be !??! location_x = {location_x} and form location x = {this.Location.X}");
            _log.Debug($"Let's try that correct that");
            Form_Shown(sender, e);
        }
    }   

我无法理解这种奇怪行为的根本原因。有人已经遇到这个问题了吗?

非常感谢您的宝贵时间,并与我分享您的科学知识。

0 个答案:

没有答案