gpt4 book ai didi

c# - 几秒钟后如何触发事件?

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

我正在制作一个应用程序,我想在其中使用人脸检测功能登录。但这不是真的,只是为了让ik看起来像它的扫描。因此,当我按下“登录”按钮时,kinect 会拍下我的照片并向我展示图片,最重要的是它会在扫描的文本中向我展示。现在我遇到了以下问题,当我按下登录按钮时,会出现扫描标签,但我想触发另一个事件,将我带到下一页,即主页。所以我希望 SCANNING 标 checkout 现 3 秒,然后页面应该改变。这是我尝试过的方法,我使用了一个计时器,但它没有任何作用。

    private void ActionButton_Click(object sender, System.EventArgs eventArgs)
{

_main.TakePicture();
identifyBox.Source = _main.source.Clone();
scanningLabel.Visibility = Visibility.Visible;
_storyboard = (Storyboard)FindResource("scanningSB");
//_storyboard.Begin();
Start();
}

private void Start()
{
_tm = new Timer(3000);
_tm.Elapsed += new ElapsedEventHandler(_tm_Elapsed);
_tm.Enabled = true;
}

void _tm_Elapsed(object sender, ElapsedEventArgs e)
{
if (_tm == new Timer(3000))
{
((Timer)sender).Enabled = false;
_main.ContentPage.Children.Clear();
_main.ContentPage.Children.Add(_homeScreen);
}
}

好的,我删除了 if 语句,但现在它每 3 秒触发一个方法。我怎样才能让它工作 1 次。

好的,即使这有效,现在我的 ContentPage 不会改变吗?它给了我这个错误:调用线程无法访问这个对象,因为另一个线程拥有它。有什么问题吗?

最佳答案

我认为你可以移除条件

if (_tm == new Timer(3000))

保持简单

void _tm_Elapsed(object sender, ElapsedEventArgs e)
{

((Timer)sender).Enabled = false;

_main.ContentPage.Children.Clear();
_main.ContentPage.Children.Add(_homeScreen);

}

当您设置 _tm = new Timer(3000); 时,它将设置 3 秒后触发事件的时间。

关于c# - 几秒钟后如何触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8698901/

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