PDA

View Full Version : جا به جایی اشیا با تغییر سایز



pouria_bayat
جمعه 22 خرداد 1394, 22:04 عصر
سلام دوستان چطور می توانیم توی یک Panel زمانی که میخواهیم به صورت داینامیک یک شی رو ایجاد کنیم فرضا توی گوشه سمت راست بالا فقط قرار بگیره و با کوچک و بزرگ شدن سایز فرم و همچنین تغییر ریزولیشن برنامه بازم گوشه بالا سمت چپ اینکارو داشته باشیم. فرضا به برنامه زیر نگاه کنید در صورتی که فرم سایزش تغییر نکنه چک باکس در جایی درستی قرار داره، ولی به محض اینکه فرم برنامه تغییر بکنه یا Maximize بشه چک باکس وسط Panel اسخت میشه. منظورم اینه که چطور می تونیم Location یک شی رو بر اساس سایز Panel تغییر بدیم زمانی که فرم تغییر سایز پیدا میکنه؟!!!
اینم سورس:

private void button1_Click(object sender, EventArgs e)
{
panel1.Controls.Clear();
panel1.SuspendLayout();
CheckBox ChbrptCost = new System.Windows.Forms.CheckBox();

ChbrptCost.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windo ws.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
ChbrptCost.BackColor = System.Drawing.Color.Transparent;
ChbrptCost.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
ChbrptCost.Location = new System.Drawing.Point(449, 12);
ChbrptCost.Name = "ChbrptCost";
ChbrptCost.Size = new System.Drawing.Size(103, 25);
ChbrptCost.TabIndex = 19;
ChbrptCost.Text = "مبلغ دریافتی";
ChbrptCost.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
ChbrptCost.UseVisualStyleBackColor = false;
panel1.Controls.Add(ChbrptCost);
panel1.ResumeLayout();
}

pouria_bayat
جمعه 22 خرداد 1394, 22:23 عصر
خودم به این طریق عمل میکنم درست میشه، اگر دوستان راهنمایی بهتری دارن بگن، ممنون میشم:


ChbrptCost.Location = new System.Drawing.Point((panel1.Size.Width - ChbrptCost.Width) - 10,12);

shadi khanum
شنبه 23 خرداد 1394, 07:26 صبح
دوست عزیز کدتون رو اینجوری تغییر بدید.مشکلتون حل میشه

int x;
x = panel1.Width - ChbrptCost.Width;
ChbrptCost.Location = new System.Drawing.Point(x, 12);