Если вы не можете использовать сопоставление с образцом из C # 7.0, есть и другой способ - использовать диктонары, где ваши ключи - это функции, проверяющие условия (случаи), а значения - это действия, которые вы хотите выполнить. Для вашего кода это будет выглядеть так:
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
var caseDictionary = new Dictionary<Func<bool>, Action>()
{
{ () => (e.ColumnIndex == dataGridView1.Columns["First"].Index), () => { MessageBox.Show("First");}},
{ () => (e.ColumnIndex == dataGridView1.Columns["Second"].Index), () => { MessageBox.Show("Second");}},
{ () => (e.ColumnIndex == dataGridView1.Columns["Third"].Index), () => { MessageBox.Show("Third");}}
};
caseDictionary.Where(caseRecord => caseRecord.Key()).Select(action => action.Value).FirstOrDefault()?.Invoke();
}
Конечно, вы можете объявить Dictionary в своем конструкторе и просто вызвать его в событии CellValidating
.
Просто зафиксируйте высоту и добавьте ": прокрутите => истинный" параметр:
Shoes.app(:title => "Scrolll!" ) do
flow :margin => 10 do
stack :width => "150px", :height => "200px", :scroll => true do
para "all you need is love", "all you need is love", "all you need is love", "all you need is love", "all you need is love", "all you need is love", "all you need is love", "all you need is love", "all you need is love", "all you need is love",
end
end
end
Можно использовать a <div>
тег, и затем имеет CSS как таковой:
#my_div {
width: [some_width]px;
height: [some_height]px;
overflow: auto;
}
Я не уверен, что точно Вы подразумеваете "под внутренним стеком/потоком", но мы используем iframes для наших окон подобласти, который имеет атрибут прокрутки, который можно установить. Иначе можно использовать платформу JavaScript как YUI для получения окон подобласти, которые могут позволить прокручивать возможности.