Let*_*oir 1 c# methods events timer
我正在制作一个应用程序,我想用面部检测登录.但这不是真的,它只是让ik看起来像它的扫描.因此,当我按下LOG IN按钮时,kinect拍摄我的照片并向我显示照片,在它上方显示我正在扫描的文本.现在我遇到了以下问题,当我按下登录按钮时,会出现扫描标签,但我想触发另一个事件,将我带到下一页,即主页.所以我希望SCANNING标签出现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);
}
}
Run Code Online (Sandbox Code Playgroud)
好吧,我删除了if语句,但现在它每3秒触发一个方法.我怎样才能让它工作一次.
好吧即使这个工作,现在我的ContentPage不会改变?它给了我这个错误:调用线程无法访问此对象,因为另一个线程拥有它.有什么不对?
我想你可以删除条件
if (_tm == new Timer(3000))
Run Code Online (Sandbox Code Playgroud)
并保持简单
void _tm_Elapsed(object sender, ElapsedEventArgs e)
{
((Timer)sender).Enabled = false;
_main.ContentPage.Children.Clear();
_main.ContentPage.Children.Add(_homeScreen);
}
Run Code Online (Sandbox Code Playgroud)
当你设置_tm = new Timer(3000);它将设置3秒后触发事件的时间..
| 归档时间: |
|
| 查看次数: |
3573 次 |
| 最近记录: |