C#、VS 2010、デバッグ、.net、または一般的なイベントに関する私の経験不足の問題なのかどうかはわかりませんので、ご容赦ください。アルファベット水族館を描くプロジェクトがあります。パネルに異なる色の文字を追加し、アニメーション化します。これは、Fishtank と Fish の 2 つのクラスを含む単純な Windows フォーム プロジェクトです。ペイント イベントは、色付きの文字を描画するために使用され、それらをアニメーション化するのが私たちのタスクです。ペイント イベントが初期ロードとコントロールでクラスをどのように使用しているかを理解するために、ブレークポイントを設定しました。ブレークポイントを使用すると、ペイント イベントをステップスルーまたはオーバーできません。ブレークポイントがなければ、プログラムはロードされますか?? それは私の経験不足、コード、デバッグなどの問題ですか??
private void fishTankPanel_Paint(object sender, PaintEventArgs e)
{
// Loop through each fish in our fish tank, and draw them.
for (int i = 0; i < _fishTank.CountFish(); i++)
{
Fish fish = _fishTank.GetFish(i);
e.Graphics.DrawString(fish.FishLetter, new Font("Arial", 10),
new SolidBrush(fish.FishColor), new Point(fish.XPosition, fish.YPosition));
}
fishCountLabel.Text = _fishTank.CountFish().ToString();
}
class Fish
{
private Color _fishColor;
public Color FishColor
{
get { return _fishColor; }
set { _fishColor = value; }
}
private int _xPosition;
public int XPosition
{
get { return _xPosition; }
set { _xPosition = value; }
}
private int _yPosition;
public int YPosition
{
get { return _yPosition; }
set { _yPosition = value; }
}
private string _fishLetter;
public string FishLetter
{
get { return _fishLetter; }
set { _fishLetter = value; }
}
private string _direction;
public string Direction
{
get { return _direction; }
set { _direction = value; }
}
public Fish(string fishLetter, int xPosition, int yPosition, Color fishColor, string fishDirection)
{
// If no letter specified, use "X."
if (fishLetter.Length == 0)
fishLetter = "X";
_fishLetter = fishLetter;
// Ensure the position is >= 0.
if (xPosition < 0)
xPosition = 0;
_xPosition = xPosition;
if (yPosition < 0)
yPosition = 0;
_yPosition = yPosition;
// Set the fish color.
_fishColor = fishColor;
// Set fish direction
}
}class FishTank
{
// Use a List collection to hold the fish.
private List<Fish> _fishTank = new List<Fish>();
public int CountFish()
{
return _fishTank.Count;
}
public Fish GetFish(int position)
{
return _fishTank[position];
}
public void AddFish(Fish fish)
{
_fishTank.Add(fish);
}
public void ClearFish()
{
_fishTank.Clear();
}
}
フィードバックをお待ちしております。よろしくお願いいたします。