私はwinformとtreeviewを持つpowershellスクリプトを持っています。TreeView/PowershellへのC#の変換で+/-ボタンをクリックして検出
今、私は、ユーザーがリサイズツリービューノードまたはプラス上またはノードの前にマイナスの名前をクリックしたかどうかを区別する必要があります。このコードを発見した場合は
:このanswerで
private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
var hitTest = treeView1.HitTest(e.Location);
if (hitTest.Location == TreeViewHitTestLocations.PlusMinus)
{
//expand collapse clicked
}
}
。私はそれをPowershellに翻訳しようとしましたが、それはうまくいくようです...しかし: 問題は、どこでもクリックすると結果は常に "インデント"です。これは可能な戻り値の1つです(TreeViewHitTestLocations-Enumeration ) しかし、いつでもどこでも同じであるべきではありません。
$hitlocation = $treeview1.HitTest($treeview1.Location)
Write-Debug "$($hitlocation.location)"
if ($hitlocation.Location -eq [System.Windows.Forms.TreeViewHitTestLocations]::PlusMinus){
# do stuff
write-host "yes!"
}
私はコードを間違って翻訳しましたか、別の問題がありますか?
:
イベント・アクションを登録し、(あなたがC#サンプルで見
sender
とe
引数の)2つのパラメータで、パラメータブロックを定義? –ああ、問題は、TreeView自体ではなく、 'EventArgs'オブジェクトの場所をテストする必要があるということです –
多分それを正しく行うための例(PowerShellで)を教えてください。 – Moss