2012-06-05 1 views
0

여기 ..이 창은 잠시 동안 '정지'할 것, 내 일부 코드대기 표시기로드하는 동안 HttpWebRequest를

public MainWindow() 
     { 
      InitializeComponent(); 
try 
       {  
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.site.my/install.php?data=" + uniqueID + "&pass=" + pass); 
        request.BeginGetResponse(new AsyncCallback(FinishWebRequest), request);     
       } 
       catch (Exception) 
       { 
       } 
} 
private void FinishWebRequest(IAsyncResult result) 
     { 
      HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse; 
      Stream dataStream = response.GetResponseStream(); 
      // Open the stream using a StreamReader for easy access. 
      StreamReader reader = new StreamReader(dataStream); 
      // Read the content. 
      string responseFromServer = reader.ReadToEnd(); 
      // Display the content. 
      Console.WriteLine(responseFromServer); 
      // Cleanup the streams and the response. 
      reader.Close(); 
      dataStream.Close(); 
      response.Close(); 

      if (responseFromServer == "1") 
      { 
       MessageBox.show("ok") 
      }else{ 
       MessageBox.show("no") 
      } 

     } 

이다 그래서 나는 바로, 로딩 표시에 두는 것이 좋을 것 같아 ? 어디서 어떻게 붙여야합니까? 그냥 간단한로드 표시기 및 진행률 표시 줄을 생각하고 있어요.

답변

0

우선, 모든 코드를 생성자에 넣는 것은 나쁜 습관입니다. 로드 된 이벤트가이 논리에 적합한 장소입니다. 둘째, 귀하의 질문은 매우 모호합니다 : 어떤 종류의 적재 지시자를 염두에 두셨습니까? 직접 작성 하시겠습니까? 아니면 제 3자를 얻었습니까? 정확히 무엇을 성취하려고합니까? GUI의 디자인은 무엇입니까?