Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 14.06.2012
Сообщений: 70

Как сохранить координаты объектов на форме

30.10.2012, 09:20. Показов 1340. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сохранить координаты объектов на форме?
Имеется несколько перемещаемых Button'ов координаты которых сохраняются с помощью My.Settings, но путь куда они сохраняются стандартный, а хотелось бы задать его самому.
Подскажите пожалуйста, какими путями можно это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2012, 09:20
Ответы с готовыми решениями:

Как сохранить в файл координаты всех объектов
Добрый день, столкнулась с такой проблемой. Написала простенький js код который загружает картинку и рисует на ней области(точки,...

Как сохранить список объектов в файл?
Здравствуйте! Подскажите как сохранять список объектов List<Word> в файл class Word { public int PosX { get; set; }...

как можно сравнить координаты двух объектов
Не могу сообразить как сравнить координати одной кнопки и координати другой; пересекаются ли они с друг сдругом. Помогите.

6
 Аватар для OldFedor
7486 / 4150 / 474
Регистрация: 25.08.2012
Сообщений: 11,530
Записей в блоге: 11
30.10.2012, 09:31
У меня сформирован массив LeftTop туда пишу и отдуда читаю. По закрытии - в файл.
1
2 / 2 / 0
Регистрация: 14.06.2012
Сообщений: 70
30.10.2012, 09:37  [ТС]
мб подкините небольшой примерчик чтобы быстрей разобраться смог?)
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
30.10.2012, 09:58
Небольшое демо. На форме текстбокс и кнопка (Button6). Дополнительно еще несколько кнопок, которые мы будем двигать и менять их свойства (с 1 по 5).
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Public Class Form1
    Dim B As New List(Of Btn)
 
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        B.Clear()
        For Each C As Control In Me.Controls
            If TypeOf C Is Button Then
                Dim Tmp As New Btn With {.Name = C.Name, .Text = C.Text, .Location = C.Location, .Forecolor = C.ForeColor}
                B.Add(Tmp)
            End If
        Next
        Dim formatter As New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
        Using stream As IO.Stream = IO.File.Create("Button.bin")
            formatter.Serialize(stream, B)
            stream.Close()
        End Using
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        For Each C As Control In Me.Controls
            If TypeOf C Is Button Then
                AddHandler C.MouseMove, AddressOf Bmm
            End If
        Next
        Try
            Dim formatter As New Runtime.Serialization.Formatters.Binary.BinaryFormatter()
            Using stream As IO.Stream = IO.File.Open("Button.bin", IO.FileMode.Open)
                B = formatter.Deserialize(stream)
                stream.Close()
            End Using
 
            For Each But As Btn In B
                With Me.Controls(But.Name)
                    .Text = But.Text
                    .Location = But.Location
                    .ForeColor = But.Forecolor
                End With
            Next
        Catch ex As Exception
 
        End Try
    End Sub
    Sub Bmm(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If e.Button = Windows.Forms.MouseButtons.Right Then
            sender.Location = New Point(sender.Left + e.X, e.Y + sender.top)
            Me.Text = e.X + sender.Left
        End If
    End Sub
    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Me.Controls("button" & Val(TextBox1.Text)).Text = Now.ToLongTimeString
        Me.Controls("button" & TextBox1.Text).ForeColor = Color.FromArgb(255 * Rnd(), 255 * Rnd(), 255 * Rnd())
    End Sub
End Class
<System.Serializable()> Class Btn
    Public Name As String
    Public Text As String
    Public Location As Point
    Public Forecolor As Color
End Class
Перемещение я делать не стал нормальным (правой кнопкой), просто показать суть.
Вводим в текстбокс индекс кнопки. Ей присваивается определенный текст и цвет шрифта. ПКМ перемещаем другие кнопки.

Создан доп. класс с сериализацией. Он хранит имя кнопки, ее текст, положение и цвет шрифта.
Программа сохраняет эти настройки в своей директории в файле Button.bin
Вложения
Тип файла: rar Demo settings.rar (98.3 Кб, 14 просмотров)
2
2 / 2 / 0
Регистрация: 14.06.2012
Сообщений: 70
30.10.2012, 10:06  [ТС]
Спасибо!

Добавлено через 1 минуту
А самому задать место положения директории можно?
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
30.10.2012, 10:09
Rayrat89, Да, где Button.bin - напишите полный путь и свое имя файла
1
2 / 2 / 0
Регистрация: 14.06.2012
Сообщений: 70
30.10.2012, 10:11  [ТС]
Спасибо огромное!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2012, 10:11
Помогаю со студенческими работами здесь

Как определить и сохранить координаты точки графика в GUI
Доброго времени суток. Создаю графическое окно в GUI. В окне расположена область построения графика XY и несколько кнопок (копки не...

Как вычислить 3d координаты вершин для создания 3d объектов в qbasic`e ?
Для примера : как вычислите 3d координаты вершин куба.

Как сохранить настройки на форме?
В приложении на форме могу изменять размеры DataGridView с помощью полосок Split и ширину колонок. Как сохранить сделанные изменения, чтобы...

Как сохранить картинку на форме
Значит так: Имеется форма, на которой расположен компонент Image, OpenDialogPicture и произвольная кнопка для загрузки картинки на форму....

Как считать координаты по щелчку на форме
Ребят, Как считать координаты по щелчку на форме?:)спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru