//查找关键字
TreeNode tnRet = null;
String [] search = null;
int i = 0;
int k;
foreach (TreeNode tn in treeView1.Nodes)
{
tnRet = FindNode(tn, word);
if (tnRet != null)
{
search[i] = tnRet.Text;
i++;
循环完毕以后整个程序就退出了,也没有提示错误
} }
if (i > 0)
{
for (k = 0; k < search.Length; k++)
{
MessageBox.Show(search[k].ToString());
}
}
else
{
MessageBox.Show("没有找到包含 " + word + " 的相关影片\n请尝试更换其他关键字搜索", "没有找到", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
为什么循环完毕以后,整个程序就自动关闭了?也没任何异常提示
解决方案 »
- 实现单击左右光标实现图片的上一幅和下一副的功能
- C# 启动画面
- 想做到页面无刷新,要怎么做?
- datagridview添加com的问题
- C#安装时候更新安装文件会出现警告并且要先删除已有的:已经安装另一个版本,如想安装请先删除。如果我想直接安装没有这个提示怎么做呢?
- 如何把PNG图片的背景色变成透明色,谢谢!在线等 !
- 【求助】如何实现多表更新~ C# Access
- winfrom打印的问题
- 用C#生成中文汉字验证码的基本原理(转贴)
- 怎样使一个mdi子窗体永远都是位于最顶层
- datagridview删除数据同步到数据库
- 我的所有数据都在DataTable内,怎么用aspnetPager 分页?
将获取到的值写到数组里去,这里有问题,但是又没提示任何错误
try catch一下看看,跟踪下search和i的值,应该有线索的吧
断点单步跟踪
嗯,不执行下去,有试过去掉search[i] = tnRet.Text;直接打印i,发现i又是正常的,有循环值输出。
断点跟踪 search[i] = tnRet.Text; 发现第一次循环是有获得值的,但是第2次循环真个程序就退出了。最郁闷的是没有任何异常提示,都不知道怎么找问题。
i=0
if (tnRet != null)
{
search[i] = tnRet.Text;
MessageBox.Show(i.ToString());
i++;
}MessageBox.Show(i.ToString());这句都没有执行到就关闭了
search怎么是null
//影片搜索
private void button5_Click(object sender, EventArgs e)
{
String word = textBox1.Text;
if (word == "" || word == "输入影片名")
{
MessageBox.Show("请输搜索关键字", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
//查找关键字
TreeNode tnRet = null;
String [] search = null;
int i = 0;
int k;
foreach (TreeNode tn in treeView1.Nodes)
{
tnRet = FindNode(tn, word);
if (tnRet != null)
{
search[i] = tnRet.Text;//将搜索结果写入数组
MessageBox.Show("测试有无执行");
i++;
}
}
if (i > 0) //添加搜索结果到新节点
{
TreeNode trRoot = new TreeNode("搜索结果");
this.treeView1.Nodes.Add(trRoot);
for (k = 0; k < search.Length; k++)
{
TreeNode trNode = new TreeNode(search[k]);
trRoot.Nodes.Add(trNode);
}
}
else
{
MessageBox.Show("没有找到相关影片");
}
}
}
执行搜索,如果没有任何记录,程序返回正常,弹出没有找到影片对话框,如果有记录,则直接退出了。连MessageBox.Show("测试有无执行");这句都无输出。
{
search.Add(tnRet.Text);//将搜索结果写入数组...