Добавьте графическую линию на форму
У меня есть код, который может генерировать ряд прямых линий в форме в VB 2010. Он работает таким образом, что вы указываете количество строк в текстовом поле, которое хотите создать в форме. Это создаст только половину линий. Но есть еще одна кнопка, которая будет увеличивать одну строку за раз ниже группы строк, созданных ранее, и ПЕРЕМЕЩАЕТ все строки вверх. например: я ввел 16 в текстовое поле: он будет генерировать только 8 строк. Затем я нажимаю вторую кнопку, чтобы добавить остальные 8 строк под ранее созданными строками ОДИН ЗА ОДНОЙ с каждым щелчком, и это также будет перемещать строки вверх. Означает, что начальная точка линии будет такой же, и она будет перемещать линии вверх от этой точки одну за другой, пока не достигнет 16.
Пока что код, который у меня есть, находится ниже. Проблема в том, что я не могу увеличить строки нажатием второй кнопки. Ваша быстрая реакция будет оценена по достоинству...... Спасибо и С наилучшими пожеланиями VB_Learner
[Edit] добавлен комментарий от OP
Проблема в том, что я не могу увеличивать строки одну за другой от нажатия второй кнопки.
[/Редактировать]
Что я уже пробовал:
Public Class Form1 Private Xstart As Integer Private Ystart As Integer Private Xend As Integer Private Yend As Integer Dim graphicsfun As Graphics Dim pencolor As New Pen(Color.Navy, 1) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click graphicsfun = Me.CreateGraphics graphicsfun.Clear(Color.White) Xstart = 50 Ystart = 100 Xend = 250 Yend = 50 Dim i As Integer For i = 0 To (Val(Me.TextBox1.Text) / 2) - 1 graphicsfun.DrawLine(pencolor, Xstart + 150, i * (-Ystart) + 700, Xend + 150, i * (-Yend) + 700) Ystart = +8 Yend = +8 Next End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim rollon As Integer Dim iter As Integer For iter = 0 To (Val(Me.TextBox1.Text) / 2) - 1 For rollon = 1 To (Val(Me.TextBox1.Text) / 2) - 1 graphicsfun.DrawLine(pencolor, Xstart + 150, rollon * (-Ystart) + 700 + (Ystart), Xend + 150, rollon * (-Yend) + 700 + (Yend)) Ystart = +8 Yend = +8 Next Next End Sub
0x01AA
И в чем проблема?
VB_Learner
Проблема в том, что я не могу увеличивать строки одну за другой от нажатия второй кнопки. Извините, что не упомянул об этой проблеме раньше.. Спасибо!!
0x01AA
без проблем. Я предлагаю вам улучшить вопрос с помощью этой информации ;) Тем временем я сделал это для тебя. Надеюсь, вы с этим согласитесь. В противном случае у вас всегда есть возможность удалить мои изменения.
0x01AA
Во-первых: у меня нет опыта работы с синтаксисом VB...
Во-вторых: я думаю, что ваша проблема, по-видимому, заключается в том (при очень ленивом взгляде на ваш код), что вы не фиксируете то, что сделал allready. Вы всегда возвращаетесь к значению TextBox1 также в Button2_Click, но вы должны зафиксировать то, что вы уже сделали в переменной-члене формы.
Кстати: именование кнопок помогает вам и другим. Я имею в виду "кнопка 1" должен называться что-то вроде "ButtonStartGraph" и "элемент button2" что-то вроде "ButtonStepGraph"...
[no name]
И все это время вы не задавали вопросов и не описывали реальную проблему. Узнайте, как использовать отладчик, и вы, скорее всего, сами решите свою проблему.