首页 > 解决方案 > 准备好从另一个用户界面接收消息的类

问题描述

我有一个将文件路径发送到类的表单,并且该类处理该文件。现在我想在表单上创建一个按钮,然后按下它,类强制停止处理文件。

namespace oarch.xmlSql
{
public partial class ReadXMl : Form
{
    
    public ReadXML()
    {
        InitializeComponent();
    }
}   

.....

public buttiClick()
{
  classes.ParseXlM(FileNameStr, System.Text.Encoding.GetEncoding(eCodepage),listBox1,listBox2, label6);
}
}

这是课程

namespace oarch.classes
 {
  public class ParseXlM
  {
    public static DataTable ParseXlM2(string dbfFile, System.Text.Encoding readingEncoding,ListBox olistBox1,ListBox elistBox, System.Windows.Forms.Label nlabel)
    {
    ....
    for (int i =0 ;;)
       {
        .....
        here want to break the loop
       }
     } 
}

标签: c#

解决方案


根据有限的描述,我看到您可以尝试取消令牌模式。Cancellation Token 可以只是共享的 bool 字段,指示应该停止对文件的处理。按下按钮后可以将 Token 设置为 true。并且您需要在处理文件的类中的某个循环中检查此令牌。如果令牌为假,则继续处理,如果令牌为真,则类应停止处理文件。


推荐阅读