残念ながら、検索セクションやその他のコーディング フォーラムで探していた awnser を見つけることができなかったので、質問をここに残しておきます。
Windows のスタートアップ プロジェクトの 1 つである非常に単純な C# Application を開発しました。これは、ラベルと単純なマウス イベントを含む単純なパネルを使用して、ポインターの位置を開始位置に戻すトリガーを使用します。
アプリケーションの公開に成功し、私のコンピューターと他のいくつかのコンピューターではスムーズに動作しますが、奇妙な理由により、友人のラップトップではロードされません。
私たちは同じ OS (Windows 7) を共有しており、両方とも x64 バージョンを使用しており、フレームワークは同じように見えますが、タスク マネージャーにプロセスが表示されていても、インストールが完了した後でもロードされません。成功。
そのため、プログラムは実行されますが、ロードされず、分析対象の例外やエラーがスローされないようです。
したがって、私の質問は、私のプログラムが他のコンピューターと完全に互換性を持つための要件は何ですか?
この問題に多くの時間を費やしましたが、正しい awnser を見つけることができないようです。
さらに分析するために、フォーム コードも表示します。
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
}
}
}