因此,我正在開發一個應用程序WinForms
,並將數據從Access數據庫填充到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());
}
}
Combobox
選擇的指數的事件裏面
然後,我將使用這個代碼:
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