نمایش نتایج 1 تا 4 از 4

نام تاپیک: اضافه کردن کنترل زمان اجرا

  1. #1

    اضافه کردن کنترل زمان اجرا

    با سلام
    می خواستم در زمان اجرا به عنوان مثال یک Textbox به پروژه اضافه شده را ذخیره کنم نحوه اضافه شدنش رو می دونم ولی چطوری ذخیره میشه که بعد از بستن و باز شدن پروژه حذف نشه.دیتابیس اکسس هم داره.
    ممنون

  2. #2

    نقل قول: اضافه کردن کنترل زمان اجرا

    سلام دوست عزیز میتونید یه جدول خاص توی دیتا بیس برای کنترل هاتون و موقعیتشون در نظر بگیرین که با لود شدن فرمتون از دیتابیس اونها رو بخونه و لود کنه
    موفق باشید

  3. #3

    نقل قول: اضافه کردن کنترل زمان اجرا

    سلام من الان نمیدونم چه کنترلی رو می خوام اضافه کنم می خوام اگه بعدا به یک textbox یا چیز دیگه ای نیاز بود فقط کد نویسی کنم فلان کنترل اضافه بشه حالا با این موضوع ، چطوری ذخیره کنم؟
    ممنون

  4. #4

    Thumbs up نقل قول: اضافه کردن کنترل زمان اجرا

    نقل قول نوشته شده توسط lovecity7 مشاهده تاپیک
    با سلام
    می خواستم در زمان اجرا به عنوان مثال یک Textbox به پروژه اضافه شده را ذخیره کنم نحوه اضافه شدنش رو می دونم ولی چطوری ذخیره میشه که بعد از بستن و باز شدن پروژه حذف نشه.دیتابیس اکسس هم داره.
    ممنون
    سلام
    من یک نمونه کد با استفاده از فایل xml براتون میزارم. فقط شما کاری که من تو فایل xml کردم رو باید رو دیتا بیس اکسس خودتون ایجاد کنید و کدهای insert و update فایل xml رو با کدهای insert و update اکسس جابه جا کنید.
    1- تعریف dataset و ایجاد ستون ها برای ذخیره داده های مورد نیاز کنترلها
    کد :

    Dim ds As New DataSet
    ds.Tables.Add("Objects")
    With ds.Tables("Objects")
    .Columns.Add("ObjectType")
    .Columns.Add("ObjectName")
    .Columns.Add("Position")
    .Columns.Add("Text")
    End With
    2- کد ذخیره کردن dataset در فایل :

    ds.Tables("Objects").Clear()
    For Each control As Control In Panel1.Controls
    If control.Tag = "TextBox" Then
    With control
    ds.Tables("Objects").Rows.Add(New Object() { .Tag, .Name, .Location, .Text})
    End With
    End If
    Next
    ds.WriteXml(Application.StartupPath & "\Objects.xml")

    3- کد فراخوانی Objects از فایل :



    ds.Clear()
    Panel1.Controls.Clear()
    ds.ReadXml(Application.StartupPath & "\Objects.xml")
    For Each row As DataRow In ds.Tables("Objects").Rows
    If row.Item("ObjectType") = "TextBox" Then
    Dim myStringWhichCantBeChanged = row.Item("Position").ToString
    Dim g = System.Text.RegularExpressions.Regex.Replace(myStr ingWhichCantBeChanged, "[\{\}a-zA-Z=]", "").Split(",")


    Dim pointResult As Point = New Point(Int(g(0)), Int(g(1)))


    Dim txt As New TextBox
    With txt
    .Location = pointResult
    .Name = row.Item("ObjectName").ToString
    .Tag = row.Item("ObjectType").ToString
    AddHandler .MouseDown, AddressOf Control_MouseDown
    AddHandler .MouseMove, AddressOf Control_MouseMove
    AddHandler .MouseUp, AddressOf Control_MouseUp
    End With
    Panel1.Controls.Add(txt)
    End If
    Next


    4- کد ایجاد Object به صورت داینامیک در فرم (برای مثال یک textbox) :

    Dim txt As New TextBox
    With txt
    .Location = New Point(100, 100)
    .Name = Guid.NewGuid().ToString().Replace("-", "")
    .Tag = "TextBox"
    AddHandler .MouseDown, AddressOf Control_MouseDown
    AddHandler .MouseMove, AddressOf Control_MouseMove
    AddHandler .MouseUp, AddressOf Control_MouseUp
    End With

    Panel1.Controls.Add(txt)

    5- کد تغییر مکان Objectها :

    'Move Objects
    Private _isMoved As Boolean
    Private _x As Integer
    Private _y As Integer


    Private Sub Control_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
    _isMoved = True
    _x = e.Location.X
    _y = e.Location.Y
    End Sub


    Private Sub Control_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
    If _isMoved Then
    sender.Location = New Point(sender.Location.X + (e.Location.X - _x), sender.Location.Y + (e.Location.Y - _y))
    End If
    End Sub


    Private Sub Control_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
    _isMoved = False
    End Sub


    آخرین ویرایش به وسیله 1595035 : چهارشنبه 29 اسفند 1397 در 03:44 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •