2011-08-10 1 views
0

申し訳ありませんがタイトルが非常に混乱している場合は、私は本当にこの質問をする方法がわかりません。今、私のwinformと私のデータグリッドビューでダブルクリックイベントの編集機能をオフにしようとしています。セルをダブルクリックすると、ユーザーが編集するための別のフォームがポップアップ表示されます。私が望むのは、ユーザーがそのフォームを終了し、dgvにあるものを自動的に更新するときです。私は検索機能を持っており、そのフォームを終了した後にもう一度再利用したいだけです。ここではいくつかのコードがある...ここで起こっていただきました!WinForm ReturnFocus /フォームイベントを一時停止しますか?

 if (combo_View.Text == "Orders") 
     { 
      DateTime date = new DateTime(); 
      string PO, item, repack, UPS, wrapping, usage, price, notes, customerName; 
      int inOrder, outOrder, oid, palletNum, vid, cid; 
      double weight, cf; 
      string myIndex = dgv_DataLookup.CurrentCell.OwningRow.Cells[16].Value.ToString(); 
      DataSet editSet = new DataSet(); 
      da.SelectCommand = new OleDbCommand("SELECT oid, orderDate, PO, itemNum, InOrder, OutOrder, Repack, UPS, Pallets, PalletWrap, PalletUse, UPSAmount, LBS, CF, NoteOrder, VendorID, CustomerID, CustomerName FROM TestQuery WHERE oid = @oid", cs); 
      da.SelectCommand.Parameters.Add("@oid", OleDbType.Integer).Value = myIndex; 
      editSet.Clear(); 
      da.Fill(editSet); 
      oid = int.Parse(editSet.Tables[0].Rows[0][0].ToString()); 
      date = DateTime.Parse(editSet.Tables[0].Rows[0][1].ToString()); 
      PO = editSet.Tables[0].Rows[0][2].ToString(); 
      item = editSet.Tables[0].Rows[0][3].ToString(); 
      inOrder = int.Parse(editSet.Tables[0].Rows[0][4].ToString()); 
      outOrder = int.Parse(editSet.Tables[0].Rows[0][5].ToString()); 
      repack = editSet.Tables[0].Rows[0][6].ToString(); 
      UPS = editSet.Tables[0].Rows[0][7].ToString(); 
      palletNum = int.Parse(editSet.Tables[0].Rows[0][8].ToString()); 
      wrapping = editSet.Tables[0].Rows[0][9].ToString(); 
      usage = editSet.Tables[0].Rows[0][10].ToString(); 
      price = editSet.Tables[0].Rows[0][11].ToString(); 
      weight = double.Parse(editSet.Tables[0].Rows[0][12].ToString()); 
      cf = double.Parse(editSet.Tables[0].Rows[0][13].ToString()); 
      notes = editSet.Tables[0].Rows[0][14].ToString(); 
      vid = int.Parse(editSet.Tables[0].Rows[0][15].ToString()); 
      cid = int.Parse(editSet.Tables[0].Rows[0][16].ToString()); 
      customerName = editSet.Tables[0].Rows[0][17].ToString(); 

      Edit editForm = new Edit("ORDER", oid, date, PO, item, inOrder, outOrder, repack, UPS, palletNum, wrapping, usage, price, weight, cf, notes, vid, cid, customerName); 
      editForm.Show(); 
      btn_Search_Click(null, null); 

は、ときに、フォームのショー、私も私の他のフォームに何かをする前に、それはbtn_search_clickを呼び出すことです。私は何とかフォームを一時停止するか、editForm関数を終了して検索関数を呼び出すまでスリープ状態にすることができるかどうか疑問に思っていました。もっとコードが必要なのか、他のフォームのコードを見たいのか聞いてみてください。ありがとう!

editForm.ShowDialog(); 

答えて

1

変更

editForm.Show(); 

のEditFormが閉じるまで、これがメインフォームの実行を一時停止します。

+0

はい!受付の時間制限が上がるとすぐにあなたの回答を確認します –

関連する問題