2013-02-25 1 views
1

WinForm 응용 프로그램에서 GridView가 포함 된 양식이 있는데 데이터베이스에서 데이터를 수집하여 GridView를 채 웁니다. Loading.gif 이미지가 포함 된 그림 상자가 있습니다. 원하는 것은 데이터베이스에서 데이터를 검색하는 동안 PictureBox를 보는 것입니다.View Loading.gif 데이터 검색 중 이미지 C#

private void Generate_Button_Click(object sender, EventArgs e) 
{    
     pictureBox1.Visible = true;  
     {  
      Generate_Button.Text = "Done"; 
      if (conn.State == ConnectionState.Closed) 
       conn.Open();     
      radGridView1.Columns.Add(new GridViewTextBoxColumn("Account No.")); 
      radGridView1.Columns[0].Width = 85; 
      bool DataAvailable = false; 
      if (MainAccNo_TextBox.Text == "" && CurencyNo_TextBox.Text == "") 
      { 
       if (SeparateBy_DropDownList.Text == "4") 
       { 
        for (int i = 1; i <= 9; i++) 
        { 
         for (int j = 0; j <= 9; j++) 
         { 
          for (int k = 0; k <= 9; k++) 
          { 
           for (int l = 0; l <= 9; l++) 
           { 
            SqlCommand cmd_AccNo = new SqlCommand("Select distinct(AccNo) from JourTrans where AccNo like '" + i + "" + j + "" + k + "" + l + "%'", conn); 
            SqlDataReader reader_AccNo = cmd_AccNo.ExecuteReader();  
            radGridView1.Rows.Add(i + "" + j + "" + k + "" + l); 
            while (reader_AccNo.Read()) 
            { 
             Accounts.Add(reader_AccNo["AccNo"].ToString()); 
             radGridView1.Rows.Add(reader_AccNo["AccNo"].ToString()); 
             DataAvailable = true; 
            } 
            reader_AccNo.Close(); 
            if (DataAvailable == true) 
            { 
             radGridView1.Rows.Add(""); 
             DataAvailable = false; 
            } 
            else 
             radGridView1.Rows.RemoveAt(radGridView1.Rows.Count - 1); 
           } 
          } 
         } 
        } 
       } 
      } 
     }     
    pictureBox1.Visible = false; 
    }  
...

는 내가 울부 짖는 코드를 시도했지만 작동하지 않았다

http://soundfrost.org/>

답변

2

YouTube 동영상이 다른에서 검색하는 수행 다운로드 쓰레드를 사용하고 Dispatcher를 사용하여 해당 쓰레드에서 컨트롤에 액세스 할 수 있도록하십시오.

+0

쓰는 데 @voo를 주셔서 감사합니다. b 내가 WinForm 응용 프로그램을 실행하고 있습니다. – fadd

+0

오. 그럼 아마이 링크가 도움이됩니다 http://stackoverflow.com/questions/303116/system-windows-threading-dispatcher-and-winforms – Alex

+0

그리고 내 정확한 코드를 보여주는 내 질문을 편집 않았다 – fadd