第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示垂直滾動條時(shí)控件位置發(fā)生變化

顯示垂直滾動條時(shí)控件位置發(fā)生變化

C#
MM們 2023-07-09 17:27:28
一旦顯示面板的垂直滾動條,控件的位置就會發(fā)生變化。AutoScroll中的屬性Panel已啟用代碼:int an = 10;private void Incoming_Click(object sender, EventArgs e){    MsgItem item = new MsgItem ("testing");    item.Top = an;    an = item.Top + item.Height + 10;    panel2.Controls.Add(item);}當(dāng)滾動條顯示時(shí),控件的位置MsgItem太遠(yuǎn) 這里是一個示例,它看起來如何 查看問題
查看完整描述

2 回答

?
藍(lán)山帝景

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個贊

你可以這樣做


var count = panel2.Controls.Count;

MsgItem item = new MsgItem("testing");

item.Top = count == 0 ? 10 : (panel2.Controls[count - 1].Bottom + 10);

panel2.Controls.Add(item);

對于您的原始代碼,即


int an = 10;

private void Incoming_Click(object sender, EventArgs e)

{

    MsgItem item = new MsgItem("testing");

    item.Top = an;

    an = item.Top + item.Height + 10;

    panel2.Controls.Add(item);

}

解決方案是跟蹤面板的滾動


private void panel2_Scroll(object sender, ScrollEventArgs e)

{

    switch (e.ScrollOrientation)

    {

        case ScrollOrientation.VerticalScroll:

            var change = e.NewValue - e.OldValue;

            an -= change;

            break;

    }

}

因此,對于布局場景,建議使用TableLayoutPanelorFlowLayoutPanel


查看完整回答
反對 回復(fù) 2023-07-09
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超22個贊

使用 FlowLayoutPanel 代替 Panel,并且不必設(shè)置 Position



查看完整回答
反對 回復(fù) 2023-07-09
  • 2 回答
  • 0 關(guān)注
  • 202 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號