|
■No65229 (howling さん) に返信
サンプルコードありがとうございます。大したコードではないのでこちらのコードを書きます。
フォーム1
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;
using DBS;
using TIPS;
namespace ******
{
public partial class Form1 : Form
{
object[] OJ = new object[7];
public static string User, Jusho, Line, Day1;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Width = 1024; //--------------------------------------------------------------------------ウィンドウサイズと中央位置設定
this.Height = 816;
this.CenterToScreen();
this.BackColor = Color.FromArgb(243, 242, 231);
this.label1.ForeColor = Color.White; //--------------------------------------------------------------タイトル白黒反転文字指定
this.label1.BackColor = Color.Black;
if (System.IO.File.Exists("Use.dat") == true)
{
System.IO.StreamReader TextFile = new System.IO.StreamReader("Use.dat", Encoding.GetEncoding("Shift_JIS"));
Line = TextFile.ReadLine();
TextFile.Close();
}
else
{
Form2 f = new Form2();
f.ShowDialog(this);
f.Dispose();
}
string[] YOMI = Line.Split((char)9);
User = YOMI[0];
Jusho = null;
for (int CT1 = 1; CT1 < YOMI.Length; CT1++)
{
if (CT1 == YOMI.Length - 1) { Jusho = Jusho + YOMI[CT1]; }
else { Jusho = Jusho + YOMI[CT1] + "\r\n"; }
}
label5.Text = User;
textBox9.Text = Jusho;
this.ActiveControl = textBox1;
}
}
}
フォーム2
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 ******
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
this.Width = 370; //--------------------------------------------------------------------------ウィンドウサイズと中央位置設定
this.Height = 360;
this.CenterToScreen();
this.ActiveControl = textBox1;
this.textBox1.ImeMode = ImeMode.Hiragana;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Trim().Length == 0) { MessageBox.Show("社名を入力してください。"); textBox1.Focus(); return; }
if (textBox2.Text.Trim().Length == 0 || textBox3.Text.Trim().Length == 0)
{ MessageBox.Show("郵便番号を入力してください。"); textBox2.Focus(); return; }
if (textBox4.Text.Trim().Length == 0) { MessageBox.Show("県名を入力してください。"); textBox4.Focus(); return; }
if (textBox5.Text.Trim().Length == 0) { MessageBox.Show("市町村名を入力してください。"); textBox5.Focus(); return; }
if (textBox6.Text.Trim().Length == 0) { MessageBox.Show("区、番地を入力してください。"); textBox6.Focus(); return; }
string Dline;
Dline = textBox1.Text.Trim() + (char)9 + "郵便番号 " + textBox2.Text.Trim() + "-" + textBox3.Text.Trim() + (char)9
+ textBox4.Text.Trim() + textBox5.Text.Trim() + textBox6.Text.Trim();
if (textBox7.Text.Trim().Length != 0) { Dline = Dline + (char)9 + textBox7.Text.Trim(); }
if (textBox8.Text.Trim().Length != 0) { Dline = Dline + (char)9 + "TEL " + textBox8.Text.Trim(); }
if (textBox9.Text.Trim().Length != 0) { Dline = Dline + (char)9 + "FAX " + textBox9.Text.Trim(); }
System.IO.StreamWriter TextFile;
TextFile = new System.IO.StreamWriter(new System.IO.FileStream("Use.dat", System.IO.FileMode.Create), Encoding.GetEncoding("Shift_JIS"));
TextFile.WriteLine(Dline);
TextFile.Close();
Form1.Line = Dline;
this.Close();
}
private void Form2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter) { this.ProcessTabKey(!e.Shift); e.Handled = true; }
}
//----------------------------------------------------------------------------------------------------クローズボタンでのvalidate無効化
protected override void WndProc(ref Message m)
{
const int WM_SYSCOMMAND = 0x112;
const int SC_CLOSE = 0xF060;
if (m.Msg == WM_SYSCOMMAND && m.WParam.ToInt32() == SC_CLOSE)
{ this.AutoValidate = AutoValidate.Disable; }
base.WndProc(ref m);
}
}
}
フォーム1 form1_loadで"Use.dat"ファイルをさがしなければ登録フォーム(フォーム2)を表示して入力をします。textbox1が社名なのでひらがな入力にしたいのです。
フォーム1フォーム2ともにコントロールはデザイナーで配置しているのでform2_loadでコントロールの追加はしていません。設定はデザイナーのプロパティで設定しています。
コントロールの配置をプログラムでやればいいのかもしれませんね。試してみます。私の場合配置を感覚でやるのでコントロールをプログラムでやるのは二度手間になるので避けたいですができなければ仕方ないかとは思っています。ありがとうございました。
|