C#のWinformプロジェクトに読み込まれたイメージを含むピクチャボックスがあります。私はフォームを初期化するときにPictureboxにロードするいくつかの省略記号(Xポイント、Yポイント、幅、高さ、ZoneID、ZoneDescription)を含むStructを定義しました。Pictureboxイメージ内のゾーンを定義します - ツールチップC#
2つのことを試してみたいと思います。 1)ユーザーがピクチャボックスの画像上でマウスで移動できるようにします。マウスが構造体で指定されたゾーンに入るとすぐに、構造体からのZoneDescriptionを示すツールチップが表示されます。
2)ユーザーが多数のゾーンのいずれかをクリックすると、レスポンスが生成され、ZoneID(これは既に構造体で定義済み)をトラップできます。これをデータセットに追加します。私はこの部分を行うことができます。
私はちょうどPt1の方法について知りません。 どこかで私は、すべてのゾーンに対してMouseEnterイベントハンドラとMouseLeave EventHandlerを定義する必要がありますが、その方法はわかりません。 私は既にフォーム上にツールチップを配置しています。ここで
はゾーンを含む構造体の定義である:
public struct TreatmentZone
{
public int nZoneID;
public string sZoneCode;
public string sZoneDesc;
public Color sbPaintbrush;
public int nZonewidth;
public int nZoneheight;
public int nZoneX;
public int nZoneY;
public TreatmentZone(int _ZoneID, string _sZoneCode,string _ZoneDesc, Color _sbBrush, int _ZoneX, int _ZoneY, int _Zonewidth, int _Zoneheight)
{
this.nZoneID = _ZoneID;
this.sZoneCode = _sZoneCode;
this.sZoneDesc = _ZoneDesc;
this.sbPaintbrush = _sbBrush;
this.nZoneX = _ZoneX;
this.nZoneY = _ZoneY;
this.nZonewidth = _Zonewidth;
this.nZoneheight = _Zoneheight;
}
};
TreatmentZone[] tZone = {
new TreatmentZone(1,"R1","Brain", Color.AliceBlue,155,35,30,20),
new TreatmentZone(5,"R2", "Hypothalamus", Color.AliceBlue,184,55,12,12)
};
private void pic_TreatmentZones1_RightSole_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillEllipse(new System.Drawing.SolidBrush(tZone[0].sbPaintbrush), tZone[0].nZoneX, tZone[0].nZoneY, tZone[0].nZonewidth, tZone[0].nZoneheight);
e.Graphics.FillEllipse(new System.Drawing.SolidBrush(tZone[1].sbPaintbrush), tZone[1].nZoneX, tZone[1].nZoneY, tZone[1].nZonewidth, tZone[1].nZoneheight);
}
は、どのように私はPt1を中に必要な手順をしますか?誰も私が扱えるコードサンプルを持っていますか?
優れた親愛なる親友!これであなたの助けをありがとう!これは本当に役に立ちます! :-) – lenvdb
こんにちはすべて あなたの助けてくれてありがとう - 私はあなたの提案を組み込み、私はそれが完璧に働くようになった - また、私は構造体ではなくリストオブジェクトを使用します。ずっといい。 – lenvdb