PDA

View Full Version : سوال: Form-Generation



pouriya.punisher
چهارشنبه 10 دی 1393, 20:26 عصر
سلام
ما ی دکمه داریم که وقتیکه روی آن میزنیم یک دکمه دیگر روی صفحه میسازد
حالا چجوری کاری کنیم که وقتیکه فرم رو میبندیم بعد دوباره باز میکنیم اون دکمه ای که با event ساخته بودیم هنوز روی فرم وجود داشته باشد

Aryan.Software
پنج شنبه 11 دی 1393, 00:31 صبح
سلام

میتونید ویژگی های دکمه اعم از طول، عرض، متن، موقعیت و ... مورد نیاز رو هنگام خروج و یا ساخت دکمه ها در یک فایل designer.xml کنار نرم افزار بنویسید و هنگام اجرای فرم اون فایل رو بخونید و با دریافت اطلاعات هر گره xml اون رو روی فرم ترسیم کنید. فایل xml میتونه به این شکل باشه:

<form>

<button>
<name>btn1</name>
<width>100</width>
<height>20</height>
<position_x>12</position_x>
<position_y>43</position_y>
</button>

<button>
<name>btn2</name>
<width>200</width>
<height>20</height>
<position_x>15</position_x>
<position_y>48</position_y>
</button>

</form>


طریقه پردازش فایل های XML هم آسونه و میتونید آموزشش رو از هر جایی پیدا کنید. کافیه یک متغیر از نوع XDocument تعریف کنید. مثلا به همچین شکلی:

Dim xDoc As XDocument = New XDocument
Dim File As String = My.Application.Info.DirectoryPath & "\designer.xml"
xDoc = XDocument.Load(New IO.StringReader(My.Computer.FileSystem.ReadAllText (File, System.Text.Encoding.UTF8)))

plus = 0
For Each item As XNode In xDoc.<form>.<button>

Try
Dim a_new_btn As Button = New Button

'in do mored serfan mesal hastand va baraye baghi property ha ham nemone bardary konid
a_new_btn.Name = xDoc.<form>.<button>.ElementAt(0 + plus).<name>.Value
a_new_btn.Width = xDoc.<form>.<button>.ElementAt(0 + plus).<width>.Value



'It is time to add the control
Me.Controls.Add(a_new_btn)

plus += 1
Catch ex As Exception
Exit For
End Try

Next

pouriya.punisher
دوشنبه 15 دی 1393, 19:13 عصر
سلام ممنون این کدی که نوشتی فایل xml رو میخونه ولی زمانیکه روی فرم دکمه میسازیم توی xml کدش رو نمینویسه
من میخوام در حالت اجرا تا دکمه ساختیم اون دکمه توی نرم افزار ثبت بشه بعد وقتیکه فرم رو بستیم بعد باز کردیم دکمه روی فرم وجود داشته باشه

بعد ی چیز دیگه هم که هست میخوام مثلا وقتیکه روی دکمه کلیک میکنیم ی دکمه میسازه خوب حالا وقتی دوباره کلیک میکنیم دکمه بعدی رو زیر دکمه قبلی بسازه
و این کار رو تا بینهایت با هر بار کلیک روی دکمه ای که حاوی کد هست رو انجام بده