|
分類:[C#]
開発環境
Windows7
VisualC# 2008
昨日もお世話になりました.
C#でラベルにドラッグしている間のマウスの軌跡を描画したいのですがずれてしまいます.
実際に描画したい場所からx方向が300,y方向が100ほど離れています.目分量ですが.
ピクチャボックスだとうまく行くのですが…
このようになる原因は何だと考えられるでしょうか?
ラベルを用いていてもマウスでクリックした場所はちゃんと取得できているようです.
よろしくお願いします.
以下用いたソース(緑のバイク ★ 初めてのC# のピクチャボックスをラベルに変えたもの)
Graphics grfx ; // Graphics オブジェクト
int start = 0 ; // 1 = 描画中
int startX ; // Line X 起点
int startY ; // Line Y 起点
private void Form1_Load(object sender, System.EventArgs e)
{
// Graphics オブジェクトの取得
label1.Image = new Bitmap(Screen.PrimaryScreen.WorkingArea.Width,
Screen.PrimaryScreen.WorkingArea.Height) ;
grfx = Graphics.FromImage(label1.Image) ;
}
private void label1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
start = 1 ;
startX = e.X ;
startY = e.Y ;
}
private void label1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
start = 0 ;
}
private void label1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (start == 0) return ;
grfx.DrawLine(p, startX, startY, e.X, e.Y) ;
startX = e.X ;
startY = e.Y ;
label1.Refresh() ;
}
|