Это связано с добавлением дополнений, чтобы удовлетворить ограничениям выравнивания. Уравнение структуры данных влияет как на производительность, так и на правильность программ:
SIGBUS
). Вот пример использования типичных настроек для процессора x86 (все используемые 32 и 64-битные режимы):
struct X
{
short s; /* 2 bytes */
/* 2 padding bytes */
int i; /* 4 bytes */
char c; /* 1 byte */
/* 3 padding bytes */
};
struct Y
{
int i; /* 4 bytes */
char c; /* 1 byte */
/* 1 padding byte */
short s; /* 2 bytes */
};
struct Z
{
int i; /* 4 bytes */
short s; /* 2 bytes */
char c; /* 1 byte */
/* 1 padding byte */
};
const int sizeX = sizeof(struct X); /* = 12 */
const int sizeY = sizeof(struct Y); /* = 8 */
const int sizeZ = sizeof(struct Z); /* = 8 */
Можно минимизировать размер структур путем сортировки (например, структура Z
в приведенном выше примере).
ВАЖНОЕ ЗАМЕЧАНИЕ: В стандартах C и C ++ указано, что выравнивание структуры определяется реализацией , Поэтому каждый компилятор может выбрать выравнивание данных по-разному, что приводит к разным и несовместимым макетам данных. По этой причине при работе с библиотеками, которые будут использоваться разными компиляторами, важно понять, как компиляторы выравнивают данные. Некоторые компиляторы имеют параметры командной строки и / или специальные #pragma
операторы для изменения настроек выравнивания структуры.
Я думаю, что лучший способ сделать CheckBox выглядит действительно отличающимся, не должен использовать управление флажком вообще. Лучше используйте свои собственные изображения для проверенного/непроверенного состояния сверху гиперссылки или элемента изображения.Удачи.
Вместо того, чтобы использовать некоторое нестандартное управление, что необходимо делать, использует незаметный JavaScript, чтобы сделать это после факта. См. http://code.google.com/p/jquery-checkbox/ для примера.
Используя стандартный ASP флажок упрощает написание кода. Вы не должны писать свой собственный пользовательский элемент управления, и весь Ваш существующий код/страницы не должен быть обновлен.
Что еще более важно, это - стандартное управление HTML, которое могут распознать все браузеры. Это доступно для всех пользователей и работы, если у них нет JavaScript. Например, программы для чтения с экрана для слепых смогут понять это как управление флажком и не только изображение со ссылкой.
Не уверенный, что это - действительно связанный с asp.net вопрос.. Дайте этому выстрел, много хорошей информации здесь:
http://www.456bereastreet.com/archive/200409/styling_form_controls/
Следует иметь в виду, что asp:CheckBox управляют на самом деле выводами больше, чем просто единственный вход флажка.
Например, мои выводы кода
<span class="CheckBoxStyle">
<input id="ctl00_cphContent_cbCheckBox"
name="ctl00$cphContent$cbCheckBox"
type="checkbox">
</span>
то, где CheckBoxStyle является значением атрибута CssClass, относилось к управлению, и cbCheckBox является идентификатором управления.
Для моделирования входа необходимо записать CSS для предназначения
span.CheckBox input {
/* Styles here */
}
Они зависят от браузера действительно.
Возможно, Вы могли сделать что-то подобное ответу в этом вопросе об изменении кнопки обзора файла.
Самый простой способ - использовать элемент управления флажком ASP с индивидуальным дизайном.
chkOrder.InputAttributes["class"] = "fancyCssClass";
вы можете использовать что-то подобное .. надеюсь, это поможет
Почему бы не использовать кнопку Asp.net CheckBox с ToggleButtonExtender, доступным из набора инструментов управления Ajax.