いつも大変お世話になっております。
上:Loadイベント時に、線を描こうとすると書けません。
下:Loadイベント時には処理を行わず、button1がクリックされたときに線を描こうとすると書けます。
これは何が原因なのでしょうか?
実際はフォームが作られた際に線を引きたいので、上の処理でプログラムを組みたいと考えております。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.KeyPreview = true; } private void Form1_Shown(object sender, EventArgs e) { byouga(); } private void button1_Click(object sender, EventArgs e) { byouga(); } private void byouga() { //Panel1のGraphicsオブジェクトを作成 Graphics g = pictureBox1.CreateGraphics(); // penを作成 Pen greenPen = new Pen(Color.Green, 5); // lineの始点と終点を設定 Point Start_point5 = new Point(50, 200); Point End_point5 = new Point(250, 200); // lineを描画 g.DrawLine(greenPen, Start_point5, End_point5); // penを解放する greenPen.Dispose(); // Graphicsを解放する g.Dispose(); } } }
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication8 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.KeyPreview = true; } private void button1_Click(object sender, EventArgs e) { byouga(); } private void byouga() { //Panel1のGraphicsオブジェクトを作成 Graphics g = pictureBox1.CreateGraphics(); // penを作成 Pen greenPen = new Pen(Color.Green, 5); // lineの始点と終点を設定 Point Start_point5 = new Point(50, 200); Point End_point5 = new Point(250, 200); // lineを描画 g.DrawLine(greenPen, Start_point5, End_point5); // penを解放する greenPen.Dispose(); // Graphicsを解放する g.Dispose(); } } }
お手数おかけして申し訳ございませんが、どなた様かご指導ご鞭撻の程よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/01 06:51