この質問は他の場所で既に回答されている可能性があるため、事前に謝罪したいと思います(特定の回答が見つかりません)。私は広範囲に検索しましたが、ますます混乱しています。この時点で、特定の質問/ジレンマに対する簡単で迅速な回答を得ることができると考えました.
C# Windows フォーム アプリがあります。テキストボックスとボタンでテストを行っています。ユーザーが 3 桁の数字をテキスト ボックスに入力し、ボタンをクリックして 3 桁のユーザー入力を文字列値として保存し、事前に定義された .BAT ファイルを起動するようにします。次に、入力 GOTO文字列を .BAT ファイルで実行したいと考えています。これが私がこれまでに持っているものです:
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 ComboBoxAndButton
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.textBox1.KeyPress += new KeyPressEventHandler(textBox1_KeyPress);
}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !char.IsDigit(e.KeyChar);
}
public string opconumber;
private void textBox1_TextChanged(object sender, EventArgs e)
{
opconumber = textBox1.Text;
}
private void button1_Click(object sender, EventArgs e)
{
Start();
}
private void Start()
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = @"C:\mybat.bat";
//I am guessing that i need my string inserted somewhere in here.
proc.StartInfo.RedirectStandardError = false;
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
proc.EnableRaisingEvents = true;
proc.Start();
proc.WaitForExit();
this.Close();
}
}
}
私が問題を抱えていたもう1つのことは、バックスペースキーを機能させることです。いくつかの異なるスニペットを試しましたが、うまくいきませんでした。あらゆる指摘や批判は公然と受け入れられます。前もって感謝します!
編集:
わかった。特定のラベルにスキップしたいバッチ ファイルがあります。保存した文字列変数を、bat ファイルで実行される内容の決定要因として機能させたいと考えています。以下に例を示します。
@echo off
:111 ECHO Argument 111
goto end
:112 ECHO Argument 112
goto end
:end
pause
バットを起動するときに文字列「112」を使用して、バットを :112 で開始するにはどうすればよいですか?