WinForms
でアプリケーションを開発していて、AccessデータベースのデータをCombobox
に入力しています。データを入力したら、Combobox
のアイテムを使用して自分のラベルにデータを表示します。私はこのコードを使用しますCombobox
選択されたインデックスイベントの内部次にC言語の長さに応じてラベルテキスト行を変更する
public void AutoCompleteBrand()
{
OleDbConnection con = new OleDbConnection(cs.DBConn);
con.Open();
adapter = new OleDbDataAdapter();
adapter.SelectCommand = new OleDbCommand(@"SELECT DISTINCT RTRIM(Phone) FROM tblPhone", con);
ds = new DataSet("ds");
adapter.Fill(ds);
dtable = ds.Tables[0];
cmbPhone.Items.Clear();
foreach (DataRow drow in dtable.Rows)
{
cmbPhone.Items.Add(drow[0].ToString());
}
}
:これは私がデータ移入しなければならないものである
private void cmbPhone_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
OleDbConnection con = new OleDbConnection(cs.DBConn);
con.Open();
cmd = new OleDbCommand(@"SELECT DISTINCT
Brand, Phone, Tecnology
FROM tblPhone", con);
OleDbDataAdapter mAdapter = new OleDbDataAdapter(cmd);
DataSet mDataSet = new DataSet();
OleDbDataReader mReader;
mReader = cmd.ExecuteReader();
while (mReader.Read())
{
string sBrand = mReader.GetString(0);
string sPhone = mReader.GetString(1);
string sTec = mReader.GetString(2);
lblBrand.Text = sBrand;
lblPhone.Text = sPhone;
lblTec.Text = sTec;
}
}
catch (Exception ex)
{
MessageBox.Show("Erro\nDetalhes: " + ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
は、基本的な技術のラベルが大きすぎると、それは、長さの変化に達したときライン。それは可能ですか?
ラベルのAutoSizeプロパティを設定しようとしましたか? – Digvijay
これをfalseに設定し、私が望むものに応じてサイズを変更しますか? – Rekcs
ああ。この目的のために、System.Drawing.GraphicsからMeasureStringを使用することができます。文字列が画面上にどのくらい広がっているかを取得し、それに従ってラベル幅を設定することができます。 – Digvijay