やばい。できた
    public partial class Form1 : Form
    {
        int hoge = 0;
        int i = 0;
        public Form1()
        {
            InitializeComponent();
        }
        private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            textBox1.Text = hoge.ToString();
        }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            backgroundWorker1.ReportProgress(i++);
            System.Threading.Thread.Sleep(2000);
            hoge = 2;
            backgroundWorker1.ReportProgress(i++);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            backgroundWorker1.RunWorkerAsync();
        }
        private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            backgroundWorker1.WorkerReportsProgress = true;
        }
    }