【发布时间】:2015-08-13 16:40:02
【问题描述】:
编辑:对于其他可能有帮助的人。我在这里做错了一些事情,有些纯粹是出于懒惰。
我没有引用正确的方法。 selectDeviceButton_Click 是我的意思,这是一个愚蠢的错字。
该方法的访问修饰符应设置为公共而不是私有。
我在方法中有两个参数,但我无法满足。
仔细阅读 StackOverflow 中的“类似”问题尚未产生任何有用的信息。所以我发布了我自己的代码和一系列问题。
我要做的是:一个 WPF 窗口有一个当前系统上的音频设备列表供您选择(检查),选择一个并按下“选择”按钮 - 所选设备的索引被送到另一个班级(这是我需要帮助的。)
我尝试通过让我的事件返回设备号或“设备索引”来发送它。此代码 sn-p 用于我的“设备选择”窗口:
private int selectDeviceButton_Click(object sender, RoutedEventArgs e)
{
//Gets the index of the selected item and stores it inside the deviceNumber field.
int deviceNumber = sourceList.SelectedItems.IndexOf(sourceList.SelectedItem);
//Hide this window.
Hide();
return deviceNumber;
}
到目前为止一切顺利。现在继续我的其他课程,我尝试获取返回的整数。
private void recordButton_Click(object sender, RoutedEventArgs e)
{
MainWindow mw = new MainWindow();
int devNumb = mw.selectDeviceButton();
}
这个类继承自另一个窗口。我收到标题中显示的错误消息。想知道为什么?
【问题讨论】:
-
您已经声明了一个名为
selectDeviceButton_Click的方法,但您似乎正在尝试调用selectDeviceButton... 哦,您也没有为该方法提供任何参数,该方法有两个参数。 -
补充约翰所说的话。我 99.99% 确定您不打算创建一个新的
MainWindow,而您实际上想使用现有的MainWindow并希望从中获得价值。 -
我考虑了你们所说的一切,因此代码如下所示: MainWindow mw = new MainWindow(); int devNumb = mw.selectDeviceButton_Click();现在没有错误:)