有沒有人想出如何格式化專案ToolStripComboBox?
此控制元件沒有FormatString屬性,但它確實有一個ComboBox屬性,該屬性提供對基礎ComboBox控制元件的完全訪問權限。
但是設定FormatString絕對沒有效果。
tsComboBox.ComboBox.FormatString = "MMMM, yyyy";
我無法控制專案的格式。有誰知道如何解決這個問題?
uj5u.com熱心網友回復:
您可以執行典型的“系結兩個屬性的事情,將一個道具設定為格式化的顯示項,另一個設定為值”路線:
var dt = new DataTable();
dt.Columns.Add("Disp");
dt.Columns.Add("Val", typeof(int));
dt.Rows.Add("Hello", 1);
dt.Rows.Add("Goodbye", 2);
toolStripComboBox1.ComboBox.DisplayMember = "Disp";
toolStripComboBox1.ComboBox.ValueMember = "Val";
toolStripComboBox1.ComboBox.DataSource = dt;
然后用 SelectedValue 拉取它:
MessageBox.Show($"value is {toolStripComboBox1.ComboBox.SelectedValue} an {toolStripComboBox1.ComboBox.SelectedValue.GetType()}");
不必是資料表;DataSource可以是例如 a List<KeyValuePair>, aList<YourClass>等
如果您正在尋找更簡單的東西,您可以提供覆寫 ToString 的東西:
toolStripComboBox1.ComboBox.DataSource =
Enumerable.Range(1, 12)
.Select(i => new MyX { X = DateTime.Now.AddDays(i * 30) })
.ToList();
class MyX
{
public DateTime X { get; set; }
public override string ToString()
=> X.ToString("MMMM, yyyy");
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406562.html
標籤:
