gpt4 book ai didi

c# - 使用 C# 使用 Telerik RadWizard Next() 事件时,Control.Select 方法不选择控件

转载 作者:太空宇宙 更新时间:2023-11-03 13:03:36 41 4
gpt4 key购买 nike

我正在使用 Telerik.WinControls.UI.RadWizardNext 事件在页面之间切换。在第二页上,我有一个 RadGroupBox,其中包含一个 RadTextBox。如果用户移至第二页,则应自动选择 RadTextBox。为此,我使用了 Control.Select() 方法。所以我的代码看起来像这样:

private void radWizard1_Next(object sender, WizardCancelEventArgs e)
{
radTextBox1.Select();
}

但不幸的是,文本框未被选中。首先,我认为我的应用程序有问题,所以我创建了一个测试应用程序。在测试应用程序中,我尝试在单击按钮时选择文本框。

private void button1_Click(object sender, EventArgs e)
{
radTextBox1.Select();
}

在按钮上单击它工作正常。所以我删除了按钮并使用 Next() 事件创建了一个测试向导。令我惊讶的是,移动到下一页时未选中文本框。

所以我确定不是我的主应用程序有问题,它一定是向导或 Next() 事件。这是 Telerik RadWizard 的已知错误吗?有解决办法吗?或者您还有其他建议吗?

我将 C# 与 Telerik.WinControls 库一起使用。我的应用程序中的所有控件都是 Telerik 控件。

编辑:

我还尝试了 radTextBox1.TextBoxElement.TextBoxItem.HostedControl.Select();。但这具有相同的效果。单击按钮时它工作正常,在 RadWizard_Next() 上它不选择文本框。

编辑二:

当我使用 radWizard1.NextButton.Click 事件而不是 RadWizard.Next 时,文本框被选中。只有 Next 事件似乎“阻止”了我的代码并取消选择了文本框。

我现在可以毫无问题地使用 radWizard1.NextButton.Click,但我想知道为什么它在 Next 事件上不起作用。如果这个事件有可能的解决方案。有什么建议吗?

最佳答案

下一个事件在页面被更改时触发。由于该事件是可取消的,它会在实际页面更改之前触发,因此顺序如下1.点击下一步按钮2.触发事件(这里你做点什么)3. 进行实际更改

因为实际的改变是在之后发生的,所以你的 Action 没有被执行。

您可以使用按钮单击事件(您发现了),也可以使用 SelectedPageChanged 事件。

关于c# - 使用 C# 使用 Telerik RadWizard Next() 事件时,Control.Select 方法不选择控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31559545/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com