Вы должны войти, чтобы создавать сообщения и темы.

Как обновить Форму

Добрый вечер😃
Не подскажете как сделать чтобы при нажатии кнопки Get IP Adress появлялась кнопка Clear IP, а при нажатии Clear IP она исчезала ведь отчищать не чего

Спойлер

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()

$Form = New-Object System.Windows.Forms.Form
$Form.ClientSize = New-Object System.Drawing.Point(400,300)
$Form.text = "Get IP"

$ButtonGet = New-Object System.Windows.Forms.Button
$ButtonGet.text = "Get IP Adress"
$ButtonGet.width = 175
$ButtonGet.height = 50
$ButtonGet.location = New-Object System.Drawing.Point(100,100)
$ButtonGet.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$ButtonCls = New-Object System.Windows.Forms.Button
$ButtonCls.text = "Clear IP"
$ButtonCls.width = 85
$ButtonCls.height = 25
$ButtonCls.location = New-Object System.Drawing.Point(140,60)
$ButtonCls.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$Label = New-Object System.Windows.Forms.Label
$Label.AutoSize = $false
$Label.width = 150
$Label.height = 150
$Label.location = New-Object System.Drawing.Point(134,170)
$Label.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$Form.Controls.AddRange(@($ButtonGet,$ButtonCls,$Label))

$ButtonCls.Add_MouseClick({$Label.text = ""})
$ButtonGet.Add_Click({$Label.text = (wget eth0.me).Content})

$Form.ShowDialog()

Попытался сделать так, но не получается:

Спойлер

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()

$Form = New-Object System.Windows.Forms.Form
$Form.ClientSize = New-Object System.Drawing.Point(400,300)
$Form.text = "Get IP"

$ButtonGet = New-Object System.Windows.Forms.Button
$ButtonGet.text = "Get IP Adress"
$ButtonGet.width = 175
$ButtonGet.height = 50
$ButtonGet.location = New-Object System.Drawing.Point(100,100)
$ButtonGet.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$ButtonCls = New-Object System.Windows.Forms.Button
$ButtonCls.text = "Clear IP"
$ButtonCls.width = 85
$ButtonCls.height = 25
$ButtonCls.location = New-Object System.Drawing.Point(140,60)
$ButtonCls.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$Label = New-Object System.Windows.Forms.Label
$Label.AutoSize = $false
$Label.width = 150
$Label.height = 150
$Label.location = New-Object System.Drawing.Point(134,170)
$Label.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$Form.Controls.AddRange(@($ButtonGet,$ButtonCls,$Label))

$ButtonCls.Add_MouseClick({$Label.text = ""; $Form.Controls.AddRange(@($ButtonGet,$Label)); $Form.Refresh()})
$ButtonGet.Add_Click({$Label.text = (wget eth0.me).Content; $Form.Controls.AddRange(@($ButtonGet,$ButtonCls,$Label)); $Form.Refresh()})

$Form.ShowDialog()

 

Приветствую, в обработчике событий по клику на кнопку СкопированоButtonGet должен быть примерно следующий код:
СкопированоButtonCls.Visible = false; //Тут уже сам решаешь, когда показывать кнопку, а когда нет, соответственно true/false

Цитата: BigGreenElpy от 23.10.2020, 18:09

Приветствую, в обработчике событий по клику на кнопку СкопированоButtonGet должен быть примерно следующий код:
СкопированоButtonCls.Visible = false; //Тут уже сам решаешь, когда показывать кнопку, а когда нет, соответственно true/false

Благодарю всё получилось 🙏

На всякий случай, записал Видео работы данного примера.

Спойлер

Скопированоprivate void ButtonGet_Click(object sender, EventArgs e)
Скопировано{
СкопированоButtonCls.Visible = true;
Скопировано}

Скопированоprivate void ButtonCls_Click(object sender, EventArgs e)
Скопировано{
СкопированоButtonCls.Visible = false;
Скопировано}


P.S. У меня явно проблемы с загрузкой видео напрямую на форум

У меня код на PowerShell я сделал так видео:

Спойлер

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()

$Form = New-Object System.Windows.Forms.Form
$Form.ClientSize = New-Object System.Drawing.Point(400,300)
$Form.text = "Get IP"

$ButtonGet = New-Object System.Windows.Forms.Button
$ButtonGet.text = "Get IP Adress"
$ButtonGet.width = 175
$ButtonGet.height = 50
$ButtonGet.location = New-Object System.Drawing.Point(100,100)
$ButtonGet.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$ButtonCls = New-Object System.Windows.Forms.Button
$ButtonCls.Visible = $false
$ButtonCls.text = "Clear IP"
$ButtonCls.width = 85
$ButtonCls.height = 25
$ButtonCls.location = New-Object System.Drawing.Point(140,60)
$ButtonCls.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$Label = New-Object System.Windows.Forms.Label
$Label.AutoSize = $false
$Label.width = 150
$Label.height = 150
$Label.location = New-Object System.Drawing.Point(134,170)
$Label.Font = New-Object System.Drawing.Font('Microsoft Sans Serif',10)

$Form.Controls.AddRange(@($ButtonGet,$ButtonCls,$Label))

$ButtonCls.Add_MouseClick({$Label.text = ""; $ButtonCls.Visible = $false})
$ButtonGet.Add_Click({$Label.text = (wget eth0.me).Content; $ButtonCls.Visible = $true})

$Form.ShowDialog()