Как сохранить элементы управления, которые находятся внутри формы - PullRequest
2 голосов
/ 01 октября 2010

Привет, этот вопрос или проблема, мне очень тяжело. У меня есть поиск и вопрос в университете, и я не знаю, как это сделать, или даже если это возможно.

Вот и мы ..Я делаю редактор фотографий или изображений с возможностью позволить пользователю вставлять кнопки в верхней части отредактированного изображения (эти кнопки при нажатии воспроизводят аудиофайл), пока все это работает.НО в конце, когда пользователь заканчивает свою работу, мне нужно, чтобы он сохранил ее, чтобы ее могли отправлять и просматривать другие.
Теперь я думаю, что знаю, как сохранить отредактированное изображение, но эта доза не содержит кнопок (элементов управления) .... это как когда мы сохраняем файл в Power Point и отправляем его другим, они содержат аудио и изображение.Надеюсь, вы, ребята, полностью понимаете, может ли кто-нибудь указать мне направление, чтобы сделать это, или покажите, как, если это возможно.

(Некоторые люди говорили мне использовать метаданные, другие - файл манифеста, но я так запутался).Жаль, что я не могу публиковать фотографии работы, пока не получу 10 баллов ...... Спасибо За первые четыре быстрых ответа и извините за ошибку, не сказав, что я работаю над C # 3.5 .Net и в приложении Windows Form.
Кажется, вы все вполне понимаете, что я пытаюсь сделать здесь.Я опубликую изображение благодаря очкам, которые я получаю от TheVillageIdiot.и о XML, который я никогда не использовал, прежде чем я попробую все возможное, чтобы понять вас, ребята, но если кто-нибудь может показать мне пример два или читать (доза xml работает в приложении Windows Form.?) alt text Вот... (извините, если изображение слишком большое) пример того, что программа делает до сих пор, когда черная прозрачная коробка - MouseOverBackColor ... при нажатии она загружает проигрыватель, который воспроизводит звук x_x.Это похоже на пометку, но со звуком.

Мне действительно нужна помощь, я достиг своего предела, не знаю, где искать, и время убивает меня.


Привет, я снова вернулся к этомувремя с простым образцом того, что мне нужно, чтобы узнать, как сохранить динамический кнопочный массив. Сегодня 10/11/10 (я сделал акцию с! @ # $%, чтобы поделиться этим примером с вами, ребята, я надеюсь, что это возмущает любоговот) вот ссылка .я объясню еще раз, что мне нужно сделать, и у меня нет идеи или кода о том, как это сделать. Представьте себе человека, который использует программу и создает как 5 кнопок, которые были в форме, ее нужно сохранить, чтобы он мог отправить еедля других, имеющих ту же программу, другие могут просматривать созданные пользователем кнопки.надеюсь, вы, ребята, можете помочь мне с простым примером, мне действительно нужен пример рабочего кода.Примечание: я работаю над приложением Windows Form WFA C # 3.5 .net MVstudio2010 (у файла, который я привел выше, есть резервная копия с версией 2008), спасибо заранее.

Ответы [ 5 ]

1 голос
/ 01 октября 2010

Как и в случае с ответом Джима, я бы предложил иметь какой-нибудь архив (ZIP или другой), содержащий все необходимые носители.

Храните файлы изображений и звуков по имени или контрольной сумме в архиве и сохраняйте метаданные (положения кнопок, имена, используемые ими носители и т. Д., Мы будем называть это файлом определения) в файлетакже хранится в архиве.Возможно, вы сможете использовать XML, чтобы сделать его читаемым человеком.

Весь пакет будет легко распространять и использовать, поскольку все будет содержаться в архиве.Ваше приложение просто должно сканировать архивы, проверять каждый архив на наличие действительного файла определения и загружать необходимые файлы.

Редактировать: Исходя из опубликованного вами скриншота и моего пониманияПроблема, я собираюсь предложить следующее:

Когда пользователь создает кнопку (определенную как прямоугольную область или «горячую точку»), откройте диалоговое окно с просьбой связать звуковой файл.Затем сохраните верхний левый и нижний правый углы кнопки и имя файла в файле XML, примерно так:

<Button name="myButton!">
    <Position top="128" left="128" />
    <Size height="200" width="200" />
    <Audio filename="something.mp3" />
</Button>

Теперь, при компиляции плагина, создайте ZIP-архив.Внутри поместите файл XML и все аудио файлы, которые вам нужны.

При загрузке плагина сначала прочитайте файл XML и найдите аудиофайл (предположим, что все аудиофайлы находятся в том же архиве, что и файл XML).Затем создайте кнопку и добавьте звуковое имя файла, скажем, в его свойство Tag.Назначьте всем кнопкам одно общее событие OnClick, а в событии OnClick воспроизведите аудиофайл, заданный тегом текущего объекта.

Если вы не понимаете, о чем я, я постараюсь уточнить дальше.Я думаю, что этот метод должен работать аккуратно и быть довольно простым для работы.:)

1 голос
/ 01 октября 2010

Одно решение: создайте ZIP-файл, содержащий аудио и изображения.

0 голосов
/ 01 октября 2010

У вас есть два варианта

  1. Создайте свой собственный формат, а затем создайте приложение-проигрыватель, которое читает его и воспроизводит результаты
  2. Найдите какой-нибудь формат, поддерживающий ваши функции, и создайте такойфайла.Это хорошо работает, если вы ожидаете, что у других будет игрок.

Для # 2 вот несколько форматов, которые могут поддерживать то, что вы хотите сделать

  1. Flash
  2. PDF
  3. Скомпилированный HTMLАрхив - нужен IE для воспроизведения http://en.wikipedia.org/wiki/MHTML
  4. EXE - создайте код с ресурсами и скомпилируйте его - в основном ваш плеер + ресурсы
  5. PowerPoint
0 голосов
/ 01 октября 2010

Предполагается, что вы пишете отдельное приложение, а не веб-приложение.

Если вы добавляете кнопку в качестве компонента .NET (новая кнопка ()), сделать это невозможно, если вы не поставите с ней собственное программное обеспечение плеера.

Если вы хотите предоставить свой собственный проигрыватель, создайте (отдельный) файл с информацией о кнопке и прочитайте файл, а затем заново создайте кнопку. (Имейте в виду, что все ресурсы - jpeg, mp3) также должны быть доступны на целевом ПК) В качестве альтернативы, соберите всю свою информацию в один файл (jpeg, информация о кнопках, mp3) и сохраните этот файл.

НТН

Mario

0 голосов
/ 01 октября 2010

По сути, у вас есть две вещи, которые вы хотите сохранить.

Отредактированное изображение, а затем расположение кнопок и их действия.

У вас есть часть сохранения изображения, так что теперь вам нужно сохранить другую информацию. Это можно рассматривать как «метаданные», и вы можете сохранить их в каком-то изобретенном вами формате, чтобы он мог загрузить их обратно. Как правило, это будет проще всего сделать с помощью XML-сериализации. Так что посмотрите на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...