none
Coded UI. Control is ready to be clicked even when the animation of the control is on-going. RRS feed

  • 问题

  • 嗨 小勇,

       对WPF的自动化测试过程中,发现两个问题;

    there are two questions as follows when i running coded ui for WPF app.

    1. 已经获取的控件以动画的形式在界面上展现,在这过程中,去操作控件,偶发性没有点击到控件;(无论是直接点击控件还是取中心点);

    Can't click the control sporadically if the control is shown on screen as animation.

    2. 对于隐藏在界面上的控件;Exists是true,BoundingRectangle是{-1,-1,-1,-1},无论用WaitForExist/Enabled/Ready,都是true,无法判断控件是否出现;

    The control is hidden on the screen, but it's property Exists is true, and BoundingRectangle is {-1,-1-1,-1}, whatever api of waitforexists/enabled/ready is used, what's more, its return value is true.

    it's hard to operate the control correctly. Any ideas? hope to receive your reply soon.

    针对问题1和2如何去判断控件是否已经准备好呢?

    希望能尽快收到你的回复;

    2016年2月14日 11:26

全部回复

  • hi,

      does anyone encounter such scenario?

    please click the following hyperlink to see the question.

    https://social.msdn.microsoft.com/Forums/en-US/f071a442-df0b-4574-b2ca-9ea6439ec42b/coded-ui-control-is-ready-to-be-clicked-even-when-the-animation-of-the-control-is-ongoing?forum=wpfzhchs

    best regards.

    2016年2月15日 13:53
  • How have you coded your codedui test to know a button is ready to be clicked?

    Are you using TryGetClickablePoint?


    Hope that helps.

    Technet articles: WPF: Layout Lab; All my Technet Articles

    2016年2月15日 14:36
  • Thanks for your reply.

    According to the WpfControl's interfaces, WaitForControlReady,(https://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.uitesting.uitestcontrol.waitforcontrolready.aspx), If returned value is true, it means the control is ready for Mouse and keyboard input. if anything i misunderstood, let me know. This is what i want to know.

    Using TryGetClickablePoint is one way to judge if the control is clickable, but it's not a common solution for my app, as you know, if the control to be clicked is blocked, it would fail to get the point, obviously return false if using TryGetClickablePoint. So after i find a control, i will calculate its central point manually basing on boundingRectangle, and Click the point.

    One more thing, how does we know if the control exactly could be clicked when it's animating on the screen.

    i really appreciate your time.

    • 已标记为答案 WindyJ 2016年2月18日 7:37
    • 取消答案标记 WindyJ 2016年2月18日 7:37
    • 已标记为答案 WindyJ 2016年2月18日 7:37
    • 取消答案标记 WindyJ 2016年2月19日 2:16
    2016年2月17日 7:29
  • 您好,

    您的问题更多的是关于visual studio,我帮您移到visual studio相关问题讨论,您将获得更好的支持。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年2月17日 9:46
  • >>已经获取的控件以动画的形式在界面上展现,在这过程中,去操作控件,偶发性没有点击到控件;(无论是直接点击控件还是取中心点);

    你需要确定这个控件是不是真的被找到。你可以用Drawhighlight() function 去验证。

    >>对于隐藏在界面上的控件;Exists是true,BoundingRectangle是{-1,-1,-1,-1},无论用WaitForExist/Enabled/Ready,都是true,无法判断控件是否出现;

    你是用什么方法确定控件是不是隐藏的?能不能具体点?

    下面的帖子中提供了一种方式去验证是否控件是隐藏的方法:

    TryGetClickablePoint(out System.Drawing.Point) method

    http://stackoverflow.com/questions/25581380/how-to-check-if-wpf-control-is-hidden-collapsed-using-ms-coded-ui-tests-cuit

    希望能帮到你!


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年2月19日 7:19
    版主
  • >>控件是否被找到,这个是确定无疑的,比如说对于某个弹出框(框以放大的形式展现),我的操作是打开弹出框->关闭弹出框,这个操作重复1000次,关闭的方式是:获取右上角的closeButton的中心点,打印出该中心点坐标,并点击该中心坐标;Console上打印出的信息看,该中心是+-10左右的偏差,某个时候偏差大了,点击不到close-->导致用例失败;

    >>控件处于隐藏状态的话,BoundingRectangle是(-1, -1, -1, -1).

    问题:WaitControlExist/Enabled/Ready都不能用来判断控件的状态么?
    2016年2月24日 1:28
  • >>问题:WaitControlExist/Enabled/Ready都不能用来判断控件的状态么?

    这些方法确实是可以判断一个控件是否存在或者别的,但是问题点可能不是在这里,比如说,coded UI test实际上是通过search property找控件的,如果它实际上找到的是别的控件,该控件可能和你时间想触发的控件有相同的属性,那么问题就出来了。该控件确实找到了,但是不是你想找的控件,那这个时候返回的可能就是true。所以我们经常用Drawhighlight() function去判断,因为他会在你的控件上画一个蓝色的框,从而确认是不是你想找的控件。

    另外一个问题:

    >>获取右上角的closeButton的中心点,打印出该中心点坐标,并点击该中心坐标;Console上打印出的信息看,该中心是+-10左右的偏差,某个时候偏差大了,点击不到close-->导致用例失败;

    你的这个控件具体是什么样的控件?他是一个复合控件吗?因为正常的控件对click的点是没有要求的,除非你的是复合控件。

    如果BoundingRectangle.Width/Height 的值是-1,表示该控件是隐藏的。有没有可能是被某一个控件给遮挡了?


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年2月25日 10:16
    版主
  • >> 我们经常用Drawhighlight() function去判断,因为他会在你的控件上画一个蓝色的框,从而确认是不是你想找的控件;

        当控件处于隐藏状态OffScreen是true,BoundingRectangle是(-1,-1,-1,-1)使用DrawHighlight()是无法显示蓝色框的(Width = -1, Height = -1),但是调用WaitControlExist/Enabled/Ready都是true;

    UISpy查看到的信息:

    State
        IsEnabled: "True"
        HasKeyboardFocus: "False"

      Identification
        ClassName: "Button"
        ControlType: "ControlType.Button"
        Culture: "(null)"
        AutomationId: "EditButton"
        LocalizedControlType: "按钮"
        Name: ""
        ProcessId: "18156 (XXXX)"
        RuntimeId: "7 18156 29665754"
        IsPassword: "False"
        IsControlElement: "True"
        IsContentElement: "True"

      Visibility
        BoundingRectangle: "(Infinity, Infinity, -Infinity, -Infinity)"
        ClickablePoint: "942,312"
        IsOffscreen: "True"

            [TestMethod]
            public void Test_EnabledProperty()
            {
                //里面包含了根据AutomationId search过程;
                WpfControl edit = m_Logic.GetControl("EN5_Btn_CloudDoc_EditName");
    
                UITechnologyElement element = (UITechnologyElement)edit.GetProperty(propertyName: UITestControl.PropertyNames.UITechnologyElement);
                AccessibleStates state = element.GetRequestedState(requestedState: AccessibleStates.Offscreen);
                if(state == AccessibleStates.Offscreen)
                {
                    Console.WriteLine("Control is offscreen.");
                }
                Assert.IsNotNull(edit, "control is null");
                {
                    if(edit.WaitForControlReady(8000))
                    {
                        Console.WriteLine("Edit is ready.");
                    }
                    else
                    {
                        Console.WriteLine("Edit is not ready.");
                    }
                    if(edit.WaitForControlEnabled(8000))
                    {
                        Console.WriteLine("Edit is enabled.");
                    }
                    else
                    {
                        Console.WriteLine("Edit is not enabled.");
                    }
                    if(edit.WaitForControlExist(3000))
                    {
                        Console.WriteLine("Edit exists.");
                    }
                    else
                    {
                        Console.WriteLine("Edit doesn't exist.");
                    }
                    Point pt;
                    if(edit.TryGetClickablePoint(out pt))
                    {
                        Console.WriteLine("Get the Clickable Point: " + pt);
                    }
                    else
                    {
                        Console.WriteLine("Control is offscreen.");
                    }
    
                    edit.DrawHighlight();
                    Thread.Sleep(3000);
                }
                Console.WriteLine("Enabled:" + edit.Enabled);
                Console.WriteLine("Exists:" + edit.Exists);
                Console.WriteLine("Bound:" + edit.BoundingRectangle);
            }

    output: 

    Test Name: Test_EnabledProperty
    Test Outcome: Passed
    Result StandardOutput:
    Control is offscreen.
    Edit is ready.
    Edit is enabled.
    Edit exists.
    Control is offscreen.
    Enabled:True
    Exists:True
    Bound:{X=-1,Y=-1,Width=-1,Height=-1}


    >>你的这个控件具体是什么样的控件?他是一个复合控件吗?因为正常的控件对click的点是没有要求的,除非你的是复合控件。

       就是一个window,放大显示;在放大过程中,CodedUI已经搜索到了这个控件,判定为可操作状态,所以可能存在点击不到过程;

    >>如果BoundingRectangle.Width/Height 的值是-1,表示该控件是隐藏的。有没有可能是被某一个控件给遮挡了?

        遮挡住,并不影响BoundingRectangle的值;

    从你的回答来看,你对于CodedUI的使用并不多,没有冒犯的意思;谢谢你的回答;

    假如可以,将这些问题转给更为专业的人员;不胜感激;

    2016年2月26日 1:47
  • 那我帮你一直开着这个帖子,看看是不是有其他的交流人员有更好的建议,如果可以的话,你可以分享一下详细的错误信息。

    我也会和其他人讨论一下这个问题,看看是否有更好的建议。

    你可以用 FindMatchingControls().Count去检查是否有相同的控件. 一般对于隐藏的控件BoundingRectangle.Width/Height 的值是 -1.

    >>无论用WaitForExist/Enabled/Ready,都是true,无法判断控件是否出现;

    另外我个人理解:

    WaitForExist: 是为了等待控件在UI上可见。

    Enabled:是确认是否可以执行action

    Ready: 应该是类似于渲染那种,等待控件完全加载。

    参考:

    http://blogs.msdn.com/b/gautamg/archive/2010/02/12/how-to-make-playback-wait-for-certain-event.aspx

    还有你说你获取控件的click point,是怎么获取的?是类似于这种方式吗?

    Mouse.Click(new Point(myUiControl.BoundingRectactangle.X + myUiControl.BoundingRectangle.Width/2, myUiControl.BoundingRectangle.Y + myUiControl.BoundingRectangle.Height/2));

    如果可以的话,可以收集一下详细的Error:

    https://msdn.microsoft.com/zh-cn/library/jj159363.aspx?f=255&MSPPError=-2147217396


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年2月26日 6:27
    版主
  • Test Name: Test_EnabledProperty
    Test Outcome: Passed
    Result StandardOutput:
    The button of automationId: EditButton is Ready,{X=-1,Y=-1,Width=-1,Height=-1}
    Control is offscreen.
    Edit is ready.
    // 新添加测试代码
    Console.WriteLine("edit.TryGetClickablePoint(out tryGetPoint): " + edit.TryGetClickablePoint(out tryGetPoint) + ", " + tryGetPoint);
    // 输出结果
    edit.TryGetClickablePoint(out tryGetPoint): False, {X=0,Y=0}
    Edit is enabled.
    Edit exists.
    Control is offscreen.
    Enabled:True
    Exists:True
    Bound:{X=-1,Y=-1,Width=-1,Height=-1}


    Debug Trace:
    V, 10016, 14, 2016/02/28, 13:51:32.302, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestExtension.BeforeTestInitialize()
    V, 10016, 14, 2016/02/28, 13:51:32.314, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.314, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.316, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.316, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.318, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.318, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.319, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.320, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.resources
    V, 10016, 14, 2016/02/28, 13:51:32.357, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.358, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.359, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.360, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.361, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.362, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.363, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.363, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.resources
    V, 10016, 14, 2016/02/28, 13:51:32.373, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.IE.XmlSerializers
    V, 10016, 16, 2016/02/28, 13:51:32.404, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 16, 2016/02/28, 13:51:32.404, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 21, 2016/02/28, 13:51:32.404, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.405, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 21, 2016/02/28, 13:51:32.405, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.405, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 16, 2016/02/28, 13:51:32.406, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 16, 2016/02/28, 13:51:32.406, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 21, 2016/02/28, 13:51:32.407, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.407, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 21, 2016/02/28, 13:51:32.407, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.408, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 16, 2016/02/28, 13:51:32.408, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 16, 2016/02/28, 13:51:32.408, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 21, 2016/02/28, 13:51:32.409, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.409, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 21, 2016/02/28, 13:51:32.409, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.410, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 16, 2016/02/28, 13:51:32.410, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 16, 2016/02/28, 13:51:32.410, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 21, 2016/02/28, 13:51:32.411, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.411, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 21, 2016/02/28, 13:51:32.412, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.WindowsStore.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:32.412, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITest.Extension.Uia.resources
    V, 10016, 14, 2016/02/28, 13:51:33.278, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve GUI_Frame.XmlSerializers
    V, 10016, 14, 2016/02/28, 13:51:33.280, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve GUI_Frame.XmlSerializers
    V, 10016, 14, 2016/02/28, 13:51:33.303, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestExtension.AfterTestInitialize()
    V, 10016, 14, 2016/02/28, 13:51:33.305, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestExtension.CreateTestMethodInvoker()
    V, 10016, 14, 2016/02/28, 13:51:33.305, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestInvoker()
    V, 10016, 14, 2016/02/28, 13:51:33.307, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestInvoker.Invoke()
    V, 10016, 14, 2016/02/28, 13:51:33.581, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.581, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.582, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.582, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.582, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.583, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.583, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:33.584, CVT3446\QTAgent32.exe, CodedUITest : Assembly resolver trying to resolve Microsoft.VisualStudio.TestTools.UITesting.resources
    V, 10016, 14, 2016/02/28, 13:51:43.869, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestExtension.BeforeTestCleanup()
    V, 10016, 14, 2016/02/28, 13:51:43.901, CVT3446\QTAgent32.exe, CodedUITest : CodedUITestExtension.AfterTestCleanup()


    >> 上面是测试代码的输出结果,(<add name="EqtTraceLevel" value="4" />) 怎么看这些log呢?

    >> 我click point是用

    Mouse.Click(new Point(myUiControl.BoundingRectactangle.X + myUiControl.BoundingRectangle.Width/2, myUiControl.BoundingRectangle.Y + myUiControl.BoundingRectangle.Height/2)); 

    你是想说控件动态展现过程中,上述获取点的方式有问题吗?

    2016年2月28日 5:57
  • >> 上述是你要的日志信息么?有什么更有效的沟通方式吗?
    2016年3月1日 6:07
  • @Jack-Zhai

    这个问题就算结束了吗?对于这里的异常,你是否感到好奇呢?希望能有个更便捷的方式,我们把这个问题快速解决,jwindy986@gmail.com

    期待你的回复,非常感谢

    2016年3月7日 1:00