不幸的是,我还没有在搜索部分或任何其他编码论坛中完全找到我正在寻找的遮阳篷,所以我将把我的问题留在这里等待结束。
我开发了一个非常简单的 C# 应用程序,它是 Windows 的启动项目之一 - 迷宫项目,它使用带有标签和简单鼠标事件的简单面板来触发指针位置重新开始的放置。
我已经成功发布了我的应用程序,它可以在我的计算机和其他一些计算机上顺利运行,但由于某些奇怪的原因,它根本无法加载到我朋友的笔记本电脑上。
我们共享相同的操作系统(Windows 7),我们都有 x64 版本,框架似乎相同,但即使进程显示在任务管理器中,它也不会加载,即使安装后也是成功的。
所以,程序确实运行了,但它似乎不会加载,也不会抛出任何要分析的异常或错误。
因此我的问题是,我的程序与其他计算机完全兼容的要求是什么?
感谢您的关注,我在这件事上花了很多时间,但似乎找不到正确的遮阳篷。
我还将显示我的表单代码以供进一步分析:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Labirinto
{
public partial class frmLabirinto : Form
{
// Toca um som sempre que o utilizador bater numa parede
System.Media.SoundPlayer startSoundPlayer = new System.Media.SoundPlayer(@"C:\Users\Ricardo Borges\Documents\Visual Studio 2010\Projects\Labirinto\Labirinto\Resources\doh.wav");
// Toca um som sempre que o utilizador chegar ao final do labirinto
System.Media.SoundPlayer finishSoundPlayer = new System.Media.SoundPlayer(@"C:\Users\Ricardo Borges\Documents\Visual Studio 2010\Projects\Labirinto\Labirinto\Resources\tada.wav");
public frmLabirinto()
{
InitializeComponent();
MoveToStart();
}
private void frmLabirinto_Load(object sender, EventArgs e)
{
}
/// <summary>
/// O método permite que o ponteiro do rato volte ao ponto inicial
/// </summary>
private void MoveToStart()
{
startSoundPlayer.Play(); //Toca o som de reinicio do jogo
Point startingPoint = panel1.Location; //ponto inicial
startingPoint.Offset(10, 10); //localizacao do ponto inicial
Cursor.Position = PointToScreen(startingPoint); //coloca o cursor no local inicial
}
private void finishLabel_MouseEnter(object sender, EventArgs e)
{
finishSoundPlayer.Play(); //Toca o som de fim de jogo
// Congratula o utilizador através de uma mensagem no ecrã
MessageBox.Show("Parabéns, encontrou a saída do labirinto");
Close();
}
private void wall_MouseEnter(object sender, EventArgs e)
{
MoveToStart(); //recoloca o ponteiro no ponto inicial ao embater numa parede
}
}
}