首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIA无法识别System.Windows.Forms.ListView复选框。

UIA无法识别System.Windows.Forms.ListView复选框。
EN

Stack Overflow用户
提问于 2014-08-27 11:04:27
回答 2查看 426关注 0票数 2

我对UI自动化和UI验证工具非常陌生。

在我们的应用程序中,我们使用的是System.Windows.Forms.ListView,CheckBoxes属性设置为true。

CheckBoxes属性允许您在列表中的每个项旁边显示一个复选框。这使应用程序能够显示项列表(如果视图属性设置为View.Details,则显示子项)

到目前为止,每个行中的单个行和所有值都是标识的。只有复选框不能被UI验证所识别。

命名空间WindowsFormsApplication1 {公共部分类Form1 :表单{ public Form1() { InitializeComponent()

代码语言:javascript
复制
        listView1.CheckBoxes = true;
        listView1.View = View.Details;
        listView1.Columns.Add("Automation");
        listView1.Columns.Add("result");
        listView1.Items.Add(new ListViewItem(new string[] { "1", "Pass" }));
    }

}

输出: UIA确认两个值"1“和"pass”。但是,复选框未被识别。

还有其他人有过类似的行为吗?如果是的话,有什么解决办法吗?

非常感谢你的帮助。

你好Hari Hara

EN

回答 2

Stack Overflow用户

发布于 2014-10-14 23:50:18

根据我所看到的,整个列表项目支持切换模式。

因此,您应该能够使用行控件本身的切换模式。

代码语言:javascript
复制
    /// <summary>
    /// Toggles anything that supports the toggle pattern
    /// </summary>
    /// <param name="aeElement">Automation element to toggle</param>
    public void Toggle(AutomationElement aeElement)
    {
            TogglePattern tpToggle = (TogglePattern)aeElement.GetCurrentPattern(TogglePattern.Pattern);
            tpToggle.Toggle();
    }
票数 2
EN

Stack Overflow用户

发布于 2014-10-11 08:46:11

你在使用“悬停”模式吗?尝试检查UIA验证器窗口左侧窗格中复选框项附近的窗格结构。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25525512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档