powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
21 сообщений из 21, страница 1 из 1
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710674
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На форме текстбокс 1,тексбокс2,тексбокс3
и чекбокс "Несколько файлов?".
а также кнопка "выполнить" по умолчанию visible=False.

Мне нужно следующее:
Если чекбокс выбран, то проверить:
заполнены ли текстбокс1 и текстбокс2?
Если заполнены оба,то только тогда показать кнопку "выполнить" (button1).

Если чекбокс не выбран,то проверить
заполнены ли текстбокс1 и текстбокс3?
Если заполнены оба,то только тогда показать кнопку "выполнить".

мой код ниже работает неправильно,
и показывает кнопку если заполнен хотя-бы 1 текстбокс

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
        If CheckBox2.Checked Then
            If Me.TextBox1.Text = String.Empty Or Me.TextBox2.Text = String.Empty Then
                Button3.Visible = True
            Else
                Button3.Visible = True
            End If
        End If

        If Not CheckBox2.Checked Then
            If Me.TextBox1.Text = String.Empty Or Me.TextBox3.Text = String.Empty Then
                Button3.Visible = True
            Else
                Button3.Visible = True
            End If
        End If


    End Sub
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710694
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001,
Copy/Paste такая опасная порой штука...
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710698
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Kuznetsov,

подробнее можно?
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710706
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
    If String.IsNullOrEmpty(Me.TextBox1.Text) Or String.IsNullOrEmpty(Me.TextBox2.Text) Then
        Button3.Visible = False
    Else
        Button3.Visible = True
    End If
End Sub
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710718
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Код: vbnet
1.
 If String.IsNullOrEmpty(Me.TextBox1.Text) Or String.IsNullOrEmpty(Me.TextBox2.Text) Then

раз взялся за оптимизацию, тогда уж OrElse
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710858
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProskyANA
Код: vbnet
1.
 If String.IsNullOrEmpty(Me.TextBox1.Text) Or String.IsNullOrEmpty(Me.TextBox2.Text) Then

раз взялся за оптимизацию, тогда уж OrElse Раз взялся комментировать, то объясни о чем ты
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38710886
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001Мне нужно следующее:
Если чекбокс выбран, то проверить:
заполнены ли текстбокс1 и текстбокс2?
Если заполнены оба,то только тогда показать кнопку "выполнить" (button1).

Если чекбокс не выбран,то проверить
заполнены ли текстбокс1 и текстбокс3?
Если заполнены оба,то только тогда показать кнопку "выполнить"

булевая алгебра:
чекбокс выбран -> a
заполнен текстбокс1 -> b
заполнен текстбокс2 -> c
заполнен текстбокс3 -> d
показать кнопку "выполнить" -> y

Пишем что получается и оптимизируем:
Код: c#
1.
y = abc U !abd = b(ac U !ad)



и того результирующий код:
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
  Button3.Visible = Not(TextBox1.Text = String.Empty) 
      AndAlso 
      (CheckBox2.Checked AndAlso Not(TextBox2.Text = String.Empty) 
         OrElse Not CheckBox2.Checked AndAlso Not(Me.TextBox3.Text = String.Empty)
End Sub
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711044
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,Shocker.Pro,pation

у меня почему-то работает только когда галочка стоит.


Описание элементов

Папка
label1
Textbox1
button3

Сохранить в
Label2
textbox2
button4

Архивировать button1
Назад button2

Несколько файлов checkbox1

Файл
label3
Textbox3
button5
------

элементы для "папки" находятся под элементами для "Файл"
+ на них установливается visible=false при загрузке формы
,и появяяются они только при выделении чекбокса




Код

Код: vbnet
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.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
Imports Ionic.Zip
Public Class arh1
    Private Sub arh1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'запуск формы
            Label1.Visible = False
            TextBox1.Visible = False
            Button3.Visible = False
    End Sub
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        'кнопка назад
        Me.Close()
        Form2.Show()
    End Sub
    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
        TextBox1.Clear()
        TextBox2.Clear()
        TextBox3.Clear()
        'если галочка стоит,то убрать файл и оставить папку
        If CheckBox1.Checked = True Then
            Button1.Visible = Check()
            Label1.Visible = True
            TextBox1.Visible = True
            Button3.Visible = True
            Label3.Visible = False
            TextBox3.Visible = False
            Button5.Visible = False
        Else
            Button1.Visible = Check()
            Label1.Visible = False
            TextBox1.Visible = False
            Button3.Visible = False
            Label3.Visible = True
            TextBox3.Visible = True
            Button5.Visible = True
        End If
    End Sub
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        'если файл
        OpenFileDialog1.ShowDialog()
        TextBox3.Text = OpenFileDialog1.FileName
    End Sub
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        'если папка
        FolderBrowserDialog1.ShowDialog()
        TextBox1.Text = FolderBrowserDialog1.SelectedPath
    End Sub
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        'кнопка сохранить
        SaveFileDialog1.ShowDialog()
        TextBox2.Text = SaveFileDialog1.FileName + ".zip"
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'архивация
        Dim folder = TextBox1.Text
        Dim file = TextBox3.Text
        Dim save = TextBox2.Text
        'архивация папки
        If CheckBox1.Checked Then
            TextBox1.Clear()
            TextBox2.Clear()
            MyZip(folder, save)
            MsgBox("Архивация завершена!")
            TextBox1.Clear()
            TextBox2.Clear()
            'Process.Start(unzip2)
        ElseIf Not CheckBox1.Checked Then
            'архивация файла
            TextBox2.Clear()
            TextBox3.Clear()
            Using zip As ZipFile = New ZipFile()
                zip.AddFile(file, "")
                zip.Save(save) ' 
                MsgBox("Архивация завершена!")
                TextBox2.Clear()
                TextBox3.Clear()
            End Using
        End If
    End Sub
    'упаковка папки в zip
    Public Sub MyZip(ByVal ContentFolder As String, ByVal CreateZip As String)
        Using zip As ZipFile = New ZipFile()
            zip.AddDirectory(ContentFolder)
            zip.Save(CreateZip)
        End Using
    End Sub
    Public Sub MyFile(ByVal ContentFolder As String, ByVal CreateZip As String)
        Using zip As ZipFile = New ZipFile()
            zip.AddDirectory(ContentFolder)
            zip.Save(CreateZip)
        End Using
    End Sub
    Function Check() As Boolean
        If CheckBox1.Checked = True Then
            Return CBool(TextBox1.TextLength * TextBox2.TextLength)
        Else
            Return CBool(TextBox1.TextLength * TextBox3.TextLength)
        End If
        Return False
    End Function
    Private Sub TextBoxes_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
        Button1.Visible = Check()
    End Sub
End Class



...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711048
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правда порядок напутал на скрине
по диагонали соответствия (впринципе по "галочке" тоже можно понять)
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711054
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изначально на форме:
Textbox3 (Файл) и Textbox2 (сохранить)
Под Textbox3 "спрятан" Textbox1

Если галочка (на чекбоксе) есть то на Textbox3 (файл)
устанавливается свойство visible=false
а Textbox1 (папка) становится visible=true
и на форме "действующими" остаются Textbox3 (папка) и TextBox1 (сохранить)
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711071
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001Textbox3 (Файл) и Textbox2 (сохранить)Не пробовали вменяемые имена контролам давать? Попробуйте - очень сильно помогает в отладке.

Считаете, что глядя на ваш код хоть что-то можно понять с такими именами?
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711074
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001Изначально на форме:
Textbox3 (Файл) и Textbox2 (сохранить)
Под Textbox3 "спрятан" Textbox1

Если галочка (на чекбоксе) есть то на Textbox3 (файл)
устанавливается свойство visible=false
а Textbox1 (папка) становится visible=true
и на форме "действующими" остаются Textbox3 (папка) и TextBox1 (сохранить)

ты зам запутался со своими текстбоками , назови их нормально
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711090
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,Shocker.Pro,pation

мне нужно реализовать следующее:

На кнопку button1 установлено свойство visible=false
Если установлена галочка на чекбокс , то выполняем проверку:
Заполнены ли текстбокс3 и текстбокс1,если заполнены ОБА то button1.visible=true
Если галочка на чекбокс не установлена , то
выполняем проверку:
Заполнены ли текстбокс3 и текстбокс2,если заполнены ОБА, то button1.visible=true.
----
а проблема у меня в том что button становится видимым только если установлена галочка,с тем кодом который я скинул выше.
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711098
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001skyANA,Shocker.Pro,pation

мне нужно реализовать следующее:

На кнопку button1 установлено свойство visible=false
Если установлена галочка на чекбокс , то выполняем проверку:
Заполнены ли текстбокс3 и текстбокс1,если заполнены ОБА то button1.visible=true
Если галочка на чекбокс не установлена , то
выполняем проверку:
Заполнены ли текстбокс3 и текстбокс2,если заполнены ОБА, то button1.visible=true.
----
а проблема у меня в том что button становится видимым только если установлена галочка,с тем кодом который я скинул выше.
я решение уже дал
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711100
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001Заполнены ли текстбокс3 и текстбокс2,если заполнены ОБА, то button1.visible=true.А как они у тебя будут заполнены, если первым делом ты их очищаешь?
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711103
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

проверка выполняется после того как я укажу что архивировать (какой файл или папку) и куда сохранять.
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711112
majhool001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA,Shocker.Pro,pation
нашел ошибку,не те текстбоксы проверял.
спасибо,проблема решена.
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711142
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
majhool001не те текстбоксы проверял.Что и требовалось доказать.

Автор пошел клепать дальше Textbox813, Textbox814, Textbox815...
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711216
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавно то, что изначально автор говорит о 3-х текстбоксах, на сринах 2... И оказывается он в них запутался...
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711413
Alex Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забавно (а может и печально) ещё и то, что автор так и не понял про опасность Copy/Paste при написании кода, потому как, судя по приведённому коду именно оно и случилось:
автор...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, TextBox3.TextChanged
        If CheckBox2.Checked Then
            If Me.TextBox1.Text = String.Empty Or Me.TextBox2.Text = String.Empty Then
                Button3.Visible = True '<=Вроде как следует логике
            Else
                Button3.Visible = True '<= И вот тут опять, но уже не следует логике (наверное строчечку-то скопировал, а изменить присваемое значение забыл)
            End If
        End If

        If Not CheckBox2.Checked Then
            If Me.TextBox1.Text = String.Empty Or Me.TextBox3.Text = String.Empty Then
                Button3.Visible = True'<= Copy/Paste ?
            Else
                Button3.Visible = True'<=И опять Copy/Paste ?
            End If
        End If


    End Sub


...
...
Рейтинг: 0 / 0
Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
    #38711486
kmaw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жесть
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Видимость кнопки,если выбран чекбокс и заполнены определенные текстбоксы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]