私はC#の初心者です。 Control.Location.Y返信しない正しい位置
リストボックスの代わりに単純なパネルを使用しました。これは、すべてのエントリにコントロールを追加する必要があったためです。さて、画像に表示されているリストは、テストするために作ったものなので、そのハードコーディングされた値だけです。しかし、今では、各エントリを最後のエントリの下に動的に移動しようとしているとき、私はそれが起こることができません。私はControl.Location.Yを使用しましたが、毎回2番目のエントリのY座標を返し、エントリが重なり合っています。 enterItemsを呼び出している
public void enterItems (listingPanel list, int loc)
{
items.Add(list);
int lastIndex = items.Count - 1;
int newLoc = items[lastIndex].Location.Y + 52;
this.Controls.Add(items[lastIndex]);
if (lastIndex >= 1)
items[lastIndex].Location = new Point(0, newLoc);
Console.WriteLine("index: " + lastIndex + ", location Y: " + (items[lastIndex].Location.Y + 52) + " last loc: " + items[lastIndex].Location.Y + "Total: " + items.Count);
}
これは、addItems(int型)の定義である()メソッド::ここで
コードです
private void addItems(int loc)
{
listingPanel lists = new listingPanel("Shashlik", Convert.ToString(20), Convert.ToString(2));
listing.enterItems(lists, loc);
}
これはaddItemsを呼び出しているイベントです(int)メソッド:事前に
private void sellBtn_Click(object sender, EventArgs e)
{
//for (int i = 0; i<1000; i = i+52)
addItems(0);
}
感謝:)
問題を指摘していただきありがとうございます。私が次に行ったことは、if条件のlastIndexから1を引くことでした。 (lastIndex> = 1)の場合は です。 – user2978059