PDA

View Full Version : مبتدی: قرار دادن picrurebox در زیر فرم های دیگر



hashtgerd2
جمعه 20 دی 1392, 16:55 عصر
سلام
من تو mdiparent (فرم اصلی برنامه) یه عکس گذاشتم ولی موقعی که فرمی رو باز میکنم اون عکس روی فرم هستش که باعث میشه قسمتی از فرمم معلوم نشه
می خوام عکس زیر فرمهای دیگر قرار بگیره
عکس رو ضمیمه کردم

sagggad
جمعه 20 دی 1392, 17:00 عصر
از این کد استفاده کنید ببینید درست میشه:

pictureBox1.SendToBack()

hashtgerd2
جمعه 20 دی 1392, 17:09 عصر
امتحان کردم
نشد کلا میره زیر خود mdiparent برنامه
انگار که اصلا عکسی نیستش

sagggad
جمعه 20 دی 1392, 17:10 عصر
خوب از این کد چی:

Form2.BringToFornt()

hashtgerd2
جمعه 20 دی 1392, 17:16 عصر
نه نشد
موقعی که فرم جدید رو خواستم باز کنم این کد رو زدم
خود برنامه میره بک میشه برنامه بغلیش میاد میشه فرونت بعدش تو خود برنامه اصلی که میرم بازم فرم جدیدم زیر عکس قرار میگیره

khokhan
جمعه 20 دی 1392, 19:11 عصر
نه نشد
موقعی که فرم جدید رو خواستم باز کنم این کد رو زدم
خود برنامه میره بک میشه برنامه بغلیش میاد میشه فرونت بعدش تو خود برنامه اصلی که میرم بازم فرم جدیدم زیر عکس قرار میگیره
.......................................


Form2 childForm = new Form2();
childForm.TopLevel = false;
Controls.Add(childForm);
childForm.Show();
childForm.BringToFront();

hashtgerd2
جمعه 20 دی 1392, 19:23 عصر
بازم نشدش
به این شکل امتحان کردم
frmEditGoods freditejeen = new frmEditGoods();
freditejeen.TopLevel = false;
freditejeen.MdiParent = MDIParent1.ActiveForm;
freditejeen.Show();
freditejeen.BringToFront();

Mahmoud.Afrad
جمعه 20 دی 1392, 19:49 عصر
در سازنده و یا فرم لود ، پیکچر باکس رو به یک فرم اضافه کن و این فرم رو به عنوان یکی از فرمهای فرزند نشون بده.

if (this.IsMdiContainer)
{
Form f = new Form();
f.Controls.Add(pictureBox1);
pictureBox1.Left = pictureBox1.Top = 0;
f.Size = pictureBox1.Size;
f.MdiParent = this;
f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f.Enabled = false;
f.Show();
}

hashtgerd2
جمعه 20 دی 1392, 20:15 عصر
نه اینم نشد اخه این کد ربطی نداره
فرم رو برد بالای بالای فرم اصلی نشون داد بعد دیزیبل هم بود
و بازم عکس رو قرار گرفته بود
115166
کد رو به این شکل تغییر دادم
frmEditGoods freditejeen = new frmEditGoods();
freditejeen.MdiParent = MDIParent1.ActiveForm;
picuser.Left = picuser.Top = 0;
freditejeen.Size = picuser.Size;
freditejeen.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
freditejeen.Enabled = false;

freditejeen.Show();

Mahmoud.Afrad
جمعه 20 دی 1392, 20:47 عصر
منظورمو بد متوجه شدی. کد زیر رو ببین

public Form1()
{
InitializeComponent();

if (this.IsMdiContainer)
{
Form f = new Form();
f.Controls.Add(pictureBox1);
picuser.Left = picuser.Top = 0;
f.Size = picuser.Size;
f.MdiParent = this;
f.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f.Enabled = false;
f.Show();
}
}

private void button1_Click(object sender, EventArgs e)
{
frmEditGoods freditejeen = new frmEditGoods();
freditejeen.MdiParent = this;
freditejeen.Show();
}

hashtgerd2
جمعه 20 دی 1392, 21:34 عصر
با این کد فرم های جدید روی عکس قرار گرفت ولی عکس لود نمیشه خالی نشون میده
من تو رویداد فرم لود به عکس مسیر دادم ایراد از اون میتونه باشه؟
cmd.CommandText = "SELECT u_picpath FROM [user] WHERE (u_id =" + login.userID + ")";
try
{
picuser.ImageLocation = cmd.ExecuteScalar().ToString();

}
catch { }
این شکلی میشه
115169