首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不能从子窗体调用ParametizedThread

Start委托,因为ParametizedThreadStart委托是用于启动线程并传递参数的委托类型,而子窗体是一个独立的窗体对象,无法直接调用该委托。

解决这个问题的方法是,在子窗体中创建一个公共方法,用于接收参数并启动线程。然后,在父窗体中创建线程对象,并将子窗体的公共方法作为线程的启动方法。这样就可以通过调用子窗体的公共方法来启动线程并传递参数。

以下是一个示例代码:

代码语言:txt
复制
// 子窗体代码
public partial class ChildForm : Form
{
    public ChildForm()
    {
        InitializeComponent();
    }

    public void StartThread(object parameter)
    {
        // 在这里编写线程的逻辑代码
        // 可以使用传递的参数进行操作
    }
}

// 父窗体代码
public partial class MainForm : Form
{
    public MainForm()
    {
        InitializeComponent();
    }

    private void StartThreadButton_Click(object sender, EventArgs e)
    {
        ChildForm childForm = new ChildForm();
        Thread thread = new Thread(childForm.StartThread);
        thread.Start(parameter);
    }
}

在上述示例中,子窗体ChildForm中的StartThread方法用于启动线程并接收参数。父窗体MainForm中的StartThreadButton_Click事件处理方法创建了子窗体对象,并将子窗体的StartThread方法作为线程的启动方法。通过调用子窗体的StartThread方法来启动线程并传递参数。

请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行适当的修改和调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券