0

我知道出了什么问题,我不知道如何解决。

我得到一个

NullReferenceException:你调用的对象是空的。

我收到此错误是因为我有一个填充的 ListBox,当您在 ListBox 中选择一个文件名时,该文件的内容将显示在一个文本框中。

现在,我有一个取消填充按钮,可以清除 ListBox 中的所有文件,如果选择了一个文件,那么我会收到错误消息。

我希望能够单击取消填充按钮并清除两个框。

编码:

private void DE_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
    myScaleTransform2.ScaleX = myScaleTransform2.ScaleX * .9833333333333333333333333333333333333333333333333333333333;
    myScaleTransform2.ScaleY = myScaleTransform2.ScaleY * .9833333333333333333333333333333333333333333333333333333333;
    lbz.Items.Clear();
}

private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    tb1.Text = File.ReadAllText(lbz.SelectedItem.ToString());
}
4

2 回答 2

1

您将不得不检查是否SelectedItem实际设置:

private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if( lbz.SelectedItem != null ){
        tb1.Text = File.ReadAllText(lbz.SelectedItem.ToString());
    } else {
        tb1.Text = "No File Selected";
    }
}
于 2012-07-09T18:06:31.193 回答
0
private void lbz_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if( lbz.SelectedItem != null ){
        if(File.Exist(lbz.SelectedItem.ToString())){
            tb1.Text = File.ReadAllText(lbz.SelectedItem.ToString());
        }
        else
        {
            tb1.Text = "File is not exist in the selected Path";
        }
    } else {
        tb1.Text = "No File Selected";
    }
}

请检查天气您的列表项是否包含文件路径?

于 2012-07-09T18:32:38.273 回答