我正在开发一个使用控制台窗口和WinForms表单的程序。用户应该在文本框中编写一些命令,该文本框包含在表单中并在控制台中接收结果。一切正常,但有一个问题。
当用户尝试关闭程序时,只有当用户使用表单上的“X”按钮时才会发生,而不是控制台当用户右键单击Titlebar并选择“关闭”时,应该会发生同样的事情。 ' 选项。当用户在键入Alt + F4时尝试关闭控制台时,应该会发生同样的事情。当用户尝试关闭控制台窗口时,我的程序应该只是隐藏控制台窗口,而不是完全关闭我的程序。
我已经有一些代码用于隐藏(并再次显示)我的控制台窗口,但我不确定如何实现我想要的。下面是我到目前为止隐藏/显示我的控制台窗口的代码:
var wg sync.WaitGroup
go func() {
defer fmt.Println("done second read")
fmt.Println("second read req")
y.RLock() //wait writer
wg.Add(1) //report busy
fmt.Println("after second read granted")
defer wg.Done() //report done
defer y.RUnlock()
}()
//forcing writer to wait all readers
go func() {
defer fmt.Println("done first write")
fmt.Println("first write req")
wg.Wait() //wait all readers
y.Lock()
fmt.Println("after first write granted")
defer y.Unlock()
}()
关于如何实现这一目标的任何想法?