Лучший способ привязать свойства форм Windows к ApplicationSettings в C#?
В настольном приложении, требующем серьезного повторного факторинга, у меня есть несколько фрагментов кода, которые выглядят следующим образом:
private void LoadSettings()
{
WindowState = Properties.Settings.Default.WindowState;
Location = Properties.Settings.Default.WindowLocation;
...
}
private void SaveSettings()
{
Properties.Settings.Default.WindowState = WindowState;
Properties.Settings.Default.WindowLocation = Location;
...
}
Каков наилучший способ заменить это? Ограничения, накладываемые проектом:
- Visual Studio 2005
- C# / .NET 2.0
- Windows формы
Обновление
Для потомков я также нашел два полезных урока: "Windows формирует пользовательские настройки в C#" и "Exploring Secrets of Persistent Application Settings" .
Я задал следующий вопрос об использовании этой техники для привязки размера формы здесь . Я разделил их, чтобы помочь людям, которые ищут подобные проблемы.
Комментарии во "внутреннем голосе" Хабра?
Случайно обнаружил в «Прямом эфире»:

Сразу бросилось в глаза, что нет заголовка топика. При этом видно количество комментариев (5). Что это было?
Код для ответа на вопрос Да / нет в javascript
Я смог найти только функцию confirm() , которая дает кнопки OK / Cancel. Есть ли какой-нибудь способ дать кнопки Да/нет?
Sharepoint COMException 0x81020037
Я работаю над приложением SharePoint, которое поддерживает импорт нескольких документов в одной операции. У меня также есть обработчик событий ItemAdded, который выполняет некоторое базовое обслуживание метаданных элемента. Это событие срабатывает как для импортированных документов, так и для созданных вручную. Последняя часть головоломки-это функция пакетной операции, которую я реализовал, чтобы запустить рабочий процесс и обновить другое поле метаданных.
Я могу вызвать COMException 0x81020037, извлекая данные файла SPListItem. Этот файл - всего лишь документ формы InfoPath/XML. Я могу изменить XML и успешно подтолкнуть его обратно в SPListItem. Когда я запускаю пользовательскую функцию сразу после этого и изменяю метаданные, это иногда вызывает ошибку COM.
Сообщение об ошибке в основном указывает,что файл был изменен другим потоком. Казалось бы, событие ItemAdded все еще записывает файл обратно в базу данных, в то время как пользовательская функция изменяет метаданные. Я попытался ввести задержки и циклы перехвата ошибок, чтобы попытаться обнаружить, что SPListItem безопасно изменять с небольшим успехом.
Есть ли способ узнать, имеет ли другой поток блокировку на документе?
Проанализировать небезопасные вызовы методов в C#?
Есть ли для VS10 инструменты, которые позволяют найти небезопасные вызовы методов — т.е. такие, которые по стеку вызовов недостижимы ни из одного блока try-catch ?)
Введение в Linux
Последнее время я активно пользуюсь Linux(ubuntu). Сижу, радуюсь, отличная система, всем меня устраивает в принципе.
Делаю основные штуки (инет, немного веб кодинга, работа с документами, музыка, видео и т.д.). Без проблем ставлю и обновляю программы, обновил систему, через вайн запускаю некоторые нужные мне программы (жаль, что не все запускаются), сегодня весь день трачу на то, чтобы ещё и какие-то игры запустить. Пользуюсь в качестве справки конечно-же мануалами разными(где-то с форума сообщения, где-то статьи мелкие, где-то на блогах инфа).
И вот задумался, что ведь ничего же я не знаю об Linux, абсолютно ничего, ни как устроена, ни где что лежит, что находится во всяких папках системных, где находятся системные настройки, как вообще систему тонко настроить. Да вообще ничего не знаю. Даже тупо вот уже второй месяц стоит убунту, я ставлю в неё программки, что-то настраиваю, делаю, а вот почистить как, узнать что-же лишнего я без понятия как. То-же и с процессами, ну гляжу я на процессы, а что да как не пойму.
Вот и главный вопрос — хочу довольно неплохо разбираться в Linux, с чего начать? Что читать? Киньте хороших мануалов с самого начала объясняющих что и как. Хочу в линуксе свободно плавать, понимать как и что происходит, а не тупо читать маны и копипастом заниматься.
Кидайте, пожалуйста на русском языке.
VOIP GSM шлюз из 3G модема, есть у кого опыт?
Приветствую!
Где-то, когда-то слышал, что есть возможность сделать из 3G USB модема GSM шлюз, и подружить его с Asterisk'ом.
Видел решение для Windows и Huawei E1550, однако интересно, есть ли что-то похожее для других моделей этого производителя, да еще и под Linux, и по возможности — бесплатно?
Спасибо.
Создание тестовых данных в базе данных
Я знаю о некоторых генераторах тестовых данных, но большинство из них, похоже, просто заполняют базы данных стилей имен и адресов [не стесняйтесь поправлять меня].
У нас есть большое интегрированное и нормализованное приложение - например, счета-фактуры имеют номера деталей, связанные с таблицами запасов, номера клиентов, связанные с таблицами клиентов, журналы изменений, связанные с информацией аудита, и т. д., которые, очевидно, трудно заполнить случайным образом. В настоящее время мы запутываем реальные данные, чтобы получить тестовые данные (но не очень хорошо).
Что tools\methods вы используете для создания больших объемов данных для тестирования?
Компании vs. Интернет-компании?
Простой и в тоже время сложный вопрос. Что с экономической и организационной точки зрения отличает оффлайн-компании от интернет-компаний? Условно будем относить к интернет-компаниям те, которые используют интернет в качестве основного инструмента своей деятельности, а также получают основную часть своего дохода от реализации услуг в нем или для него.
Так что же их отличает? Структура кадров — да. Более высокий процент компаний использующих системы управления проектами/финансами — да. Активное использование средств электронной коммуникации — само собой. Предорставление услуг без привязки к географии и времени суток — пожалуй, подходит. Более низкие операционные издержки — да. Как думаете, что еще?
Правильное оформление вызова javascript-функций
Как правильно оформлять вызов функции (js) при клике по ссылке, кнопке или любом другом элементе. Давным-давно меня научили писать вызов в onclick(), но я видел несколько других вариантов этого действа.
Поэтому хочется узнать, как же всё-таки наиболее верно это делать?
- «
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- »