尝试显示表单时出错

时间:2018-05-14 00:22:29

标签: c#

我从VB切换到c#.NET,我正在尝试做最简单的事情 - 单击按钮时显示一个表单。 但是,无论在项目中我尝试使用类似的代码:

'Project1.Form2' does not contain a definition for 'show'

显示错误:

...

let trainingTableViewController = TrainingTableViewController()

lazy var trainingTableView: UITableView = {
    let tableView = UITableView()
    tableView.dataSource = trainingTableViewController
    tableView.delegate = trainingTableViewController
    tableView.register(TrainingLogoCell.self, forCellReuseIdentifier: "trainingLogoID")
    tableView.register(TrainingProgressCell.self, forCellReuseIdentifier: "trainingProgressID")
    tableView.register(TrainingProgressPageControlCell.self, forCellReuseIdentifier: "trainingProgressPageControlID")
    tableView.register(TrainingWeekCell.self, forCellReuseIdentifier: "trainingWeekID")
    tableView.separatorStyle = .none
    tableView.backgroundColor = .clear
    tableView.translatesAutoresizingMaskIntoConstraints = false
    return tableView
}()

override func viewDidLoad() {
    super.viewDidLoad()

    ...

    view.addSubview(trainingTableView)
    trainingTableView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true // TODO: see about anchoring to bottom of navigation
    trainingTableView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 25).isActive = true
    trainingTableView.rightAnchor.constraint(equalTo: view.rightAnchor, constant: -25).isActive = true
    trainingTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}

与showdialog相同。

3 个答案:

答案 0 :(得分:1)

试试这个

Form2 frm2 = new Form2 ();
frm2.Show();

答案 1 :(得分:1)

这里有两个错误。 使用.Show()而非.show()显示表单。 Windows窗体也是对象,您不能将.Show()用作静态方法。

答案 2 :(得分:0)

C#区分大小写,因此没有show这样的内容,但有Show();。因此,如果Form2是一个实例,那么这将起作用:

Form2.Show();

如果不是实例,则需要创建实例并在实例上调用Show方法,因为它不是静态方法。像这样:

var form = new Form2();
form.Show();