2016-10-03 19 views
0

モードレスフォーム(Show()で表示され、Showdialog()ではない)で削除コマンドを受け取ることを避けようとしていますが、それを停止することができます。Revitがモードレスフォームで削除コマンドを受け取らないようにします

私の問題はフォームにテキストボックスが含まれていることです。そのコア機能は、フォームを閉じて再度開くことなく、Revitで移動(パンとズーム)できるようにする必要があります。

しかし、テキストボックスのテキストでユーザーが削除を押すとすぐに、ユーザーはメインウィンドウで削除コマンドを入力したと考えて、誤って削除する可能性があります。

apiは、選択されたエンティティ(ファミリ)に基づいてrevitdbにクエリを実行し、テキストボックスと '適用'ボタンを使用してファミリタイプまたはファミリ名の名前を変更できることに注意してください。しかし、キーボード上の削除ボタンを押すとすぐに、エンティティがrevitで削除されていると推測します。

私はこれに10時間を費やしており、私の計画に壊滅的なものになる可能性があります。

答えて

0

自分の質問に答えてください:回避策は、ユーザーがテキストボックスをクリックしたときに選択された要素を単に固定することです。その後

 private void textBox3_MouseClick(object sender, MouseEventArgs e) 
    { 
     //find selected items 

     Selection sel = uidoc.Selection; 
     ICollection<ElementId> ids = sel.GetElementIds(); 

     foreach (ElementId id in ids) 
     { 
      Element el = doc.GetElement(id); 
      el.Pinned = true; 
     } 

    } 

ユーザーがフィールド(あっけなくANDW。

を離れると固定解除
関連する問題