カスタムカーソルを設定するにはどうすればよいですか?私はいくつかの質問と答えを読んだことがあり、役に立たないものは何も見つかりませんでした。カスタムカーソルを設定するにはどうすればよいですか?
私は画像ビューアを作成していますが、現在はパン機能に取り組んでいます。私は、任意のスケール/ズームがピクチャボックスに適用された後に実行される機能を持っている:
private void CheckOverflow()
{
if (ImageBox.Width > BottomPanel.Width || ImageBox.Height > BottomPanel.Height)
{
BottomPanel.Cursor = Cursors.Hand; // set a custom cursor "pannable"
}
else if (BottomPanel.Cursor != Cursors.Default)
{
BottomPanel.Cursor = Cursors.Default;
}
}
PictureBox
がPanel
をオーバーフローした場合、それはパン可能です。今はWindowsのカーソルを使用していますが、うまくいきますが、Hand
のカーソルをカスタムのカーソルに変更したいと考えています。
私はpannable.cur
というカスタムカーソルを持っています。 Project->Properties->Resources
ウィンドウでプロジェクトに追加し、Build Action
プロパティをEmbedded Resource
に変更しました。
ここで、どのようにカーソルを作成すればよいですか?
Cursor Pannable = new Cursor(GetType(), "pannable.cur");
ただし、どこに配置する必要がありますか?これをCheckOverflow
の中に置くと、繰り返し作成されます。それ以外は、うまくいきません。私は次のエラーを取得する:
私は一度、2つのカーソル(パン可能とパン)を作成し、前後にcontols'カーソルを変更することがあります。
どうすればよいですか?
ソースコードはGithubで入手できます。
+1これは私のために働いたが、私は、わずかに異なるバージョンを使用することにしましたそれ[理由(https://stackoverflow.com/a/4306984/2202732)透過/色付きのカーソルを使用します。 – akinuri