سلام به همگی. من این مشکل رو دارم که عکس بک گراند یا پشت زمینه در فرم mdi مشاهده نمی شود
هر چی هم که در سایت جستجو می کنم نتیجه نمی دهد.
پیشاپیش اگر سوال تکراری بود , معذرت می خواهم . لطفا اگر کسی بلد هست دریغ نفرماید.
مرسی
سلام به همگی. من این مشکل رو دارم که عکس بک گراند یا پشت زمینه در فرم mdi مشاهده نمی شود
هر چی هم که در سایت جستجو می کنم نتیجه نمی دهد.
پیشاپیش اگر سوال تکراری بود , معذرت می خواهم . لطفا اگر کسی بلد هست دریغ نفرماید.
مرسی
آقا یعنی کسی نمی تونه کمکم کنه؟
من کار فوری دارم.
دمتون گرم کمکم کنید خیر می بینید. هم در دنیا و هم در آخرت
سلام
منم قبلا اين مشكل رو داشتم نميدونم از كجا بود البته تو مال من تصويري كه قبلا گذاشته بودم نميتونستم عوض كنم
اخر سر با كد تصوير رو عوض كردم
برای من که کار میکنه!!! زمان طراحی یا زمان اجرا؟
Me.BackgroundImage = System.Drawing.Image.FromFile(Application.StartupP ath & "\pic\bg\Bg.jpg")
با سلام ، براي اينكه بتوني LayOut عكس پشت زمينه رو تغيير بدي كدي نديدم .
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
For Each ctl As Control In Me.Controls
If TypeOf ctl Is MdiClient Then
ctl.BackgroundImage = System.Drawing.Bitmap.FromFile("g:\a.jpg")
Exit For
End If
Next ctl
End Sub
آره دوست عزیز کد منم همینه ولی سایز عکس رو نمی تونم تغییر بدم!! اگر تونستم راه حلی براش پیدا کنم میگم تا بقه استفاده کنن.
در ضمن در این روش عکس قرینه می شود که این خودش یه مشکل دیگه هست. ولی میشه از قبل عکس رو در برنامه هایی مثل office picture manager قرینه کنیم تا بعد از قرار گرفتن در فرم به حالت اصلیش نمایش داده بشه
كد من كاملا كار ميكنه
Me.BackgroundImage = System.Drawing.Image.FromFile("مسير فايل")
البته بهتره كد رو در رويداد HandleCreated فرم بنويسي
بچه ها یه چیز عجیب دیگه کشف کردم عکسی که پس زمینه mdi می ذارم اول قرینه میشه بعدش که یه فرم رو باز می کنم و روی mdi با مواس می کشم عکس به حالت اولش بر می گرده و وقتی فرم mdi رو مینی مایز minimize می کنم و دوباره بر می گردونم عکس دوباره قرینه می شه . نمی دونم چه کار کنم!!!! کسی کمکم می کنه؟؟؟؟؟؟؟
آخرین ویرایش به وسیله shotor moo ferferi : پنج شنبه 14 بهمن 1389 در 12:45 عصر
باورم نمیشه این همه برنامه نویس باشن ولی یه نفر هم عکس پس زمینه فرم به این مهمی mdi نذاشته باشه!!!!!!!!!!!!
یعنی این قدر سخته که چند روزه جواب نگرفتم؟؟؟؟؟؟
من عکس می خوااااااااااااااااااااااا ااااااااااااام
این کد ها رو تو رویداد load فرم mdi گذاشتم که خوشبختانه اجرا میشه
Dim c As Control
Dim Path As String = CurDir() & "\background.jpg"
backgroundBitmap = New Bitmap(Path)
For Each c In Controls
If TypeOf c Is MdiClient Then
AddHandler c.Paint, AddressOf PaintMyImage
Exit For
End If
Next
Me.Dock = DockStyle.Fill
Me.BackgroundImage = Image.FromFile(Path)
Me.BackgroundImageLayout = ImageLayout.Stretch
تو این کد یه روال رو فراخونی می کنه به اسم PaintMyImage که توش این کد نوشته شده:
e.Graphics.DrawImage(backgroundBitmap, 0, 0)
همون طور که گفتم این کدها عکس رو نشون میدن ولی در اندازه خود عکس که من هر چی تلاش کردم نتونستم اندازه عکس رو تغییر بدم. در ضمن عکس قرینه میشه و وقتی یه فرم دیگه روی mdi باز میشه و با مواس روی mdi گشیده میشه عکس به حالت اصلی (قبل از قرینه شدن) بر میگرده.
جالب اینجاست که وقتی فرم mdi رو minimize می کنم و دوباره بر می گردونم می بینم که عکس بازم قرینه میشه(مثل همون اول)
نمی دونم چه کار کنم. خیلی مهمه برام. باید خیلی ها بلد باشن , برام عجیبه فقط شما پیگیری می کنید.!!! بازم دم شما گرم منتظر جوابتون هستم
سلام . با توضیحات دوست عزیزمون توی پست 12 به شکل زیر ، من که مشکلی ندارم :
Private Sub frmMain_HandleCreated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.HandleCreated
Me.BackgroundImage = System.Drawing.Bitmap.FromFile("background.jpg")
Me.BackgroundImageLayout = ImageLayout.Stretch
End Sub
ديدي گفتم كد من درسته
برنامشم برات فرستادم
دوستان فهمیدم مشکل کجاست !!!!!!!!! من تمام فرم هام خاصیت RightToLeft شون رو true کردم. به خاطر همین عکس رو نشون نمیده! البته نمی دونم چه ربطی به هم دارن. این موضوع رو با کمک دوست خوبم ebrahimv و برنامشون فهمیدم. شما هم امتحان کنید.
حالا با توجه به اینکه نمی خوام این خاصیت رو تغییر بدم باید چه کار کنم؟؟