Страница: 1 | 2 |
Вопрос: Помогите новичку.
Добавлено: 15.02.08 19:02
Автор вопроса: pasha | ICQ: 209913513
Ответы
Всего ответов: 27
Номер ответа: 16
Автор ответа:
pasha
ICQ: 209913513
Вопросов: 10
Ответов: 45
Профиль | | #16
Добавлено: 17.02.08 22:16
чего то я совсем запутался :D
Вот есть приложение (игра крестики нолики например). Я выбираю скин для этого приложения, и соотв. во время работы скин на месте. При перезапуске приложения скин естественно не сохраняется. Так вот каким образом мне сохранить его скажем в папке %папка программы%\temp чтобы при следующем запуске оно запустилось с этим скином.
Номер ответа: 17
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #17
Добавлено: 17.02.08 22:42
Поясняю - у тебя может не быть прав писать в эту папку (причем, если твою прогу будут юзать под Vista то наверняка у тебя этих прав не будет - именно в целях безопасности, а потом будут кричать что Vista говно потому что под ней софт не идет).
Номер ответа: 18
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #18
Добавлено: 18.02.08 03:05
Интересно почему это небудет доступа на запись в %папка_программы%? Если конечно это не настраивать специально.
Номер ответа: 19
Автор ответа:
xuser
Вопросов: 1
Ответов: 20
Профиль | | #19
Добавлено: 18.02.08 03:58
А настраивать специально как?
Номер ответа: 20
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #20
Добавлено: 18.02.08 05:22
ПОВТОРЮСЬ.
Посмотри на пример любезно предоставленый Nord777.
Imports System.Drawing
Public Class Form1
Dim GP As New GraphicsPath
Dim P As New Pen(Color.Black, 5)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.ControlBox = False
Me.Size = New Size(380, 300)
Me.Text = ""
Dim FF As New FontFamily("Arial BLack"
Dim Pnt As New PointF(0.0!, 50.0!)
Dim Rect As Rectangle = Me.ClientRectangle
Dim FS As FontStyle = FontStyle.Regular
Dim SF As New StringFormat()
SF.LineAlignment = StringAlignment.Center
GP.AddEllipse(Me.ClientRectangle)
GP.AddString("Round", FF, FS, 100.0!, Pnt, SF)
Me.Region = New Region(GP)
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
e.Graphics.FillPath(Brushes.AliceBlue, GP)
e.Graphics.DrawPath(P, GP)
End Sub
End Class
Номер ответа: 21
Автор ответа:
gvozd
Разработчик Offline Client
Вопросов: 164
Ответов: 1317
Web-сайт:
Профиль | | #21
Добавлено: 18.02.08 09:40
Потому что писать данные программы нужно в
X:\Users\[User name]\AppData\Roaming\[Project name]
Номер ответа: 22
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #22
Добавлено: 18.02.08 10:21
Потому что это небезопасно.
1) Если за компом работает несколько юзеров, то одни сможет прочитать и изменить какие данные сохранены для другого
2) Пользователь может "почистить" папку Program Files и опять же, если он не единственный пользователь компьютера то может сделать невозможной работу всех кто за этим компьютером работает, и свою в том числе.
X:\Users\[User name]\AppData\Roaming\[Project name]
Dim Path = System.IO.Path.Combine(System.Environment.GetEnvironmentVariable("APPDATA", "MyApplication"
Номер ответа: 23
Автор ответа:
pasha
ICQ: 209913513
Вопросов: 10
Ответов: 45
Профиль | | #23
Добавлено: 19.02.08 01:57
такой вопрос.
а почему событие "WindowsApplication1.Form1.BackgroundImage.Save(Path + "\skinimg.jpg"" не перезаписывает файл в данной директории? он выдает ошибку GDI+. как быть?
Номер ответа: 24
Автор ответа:
pasha
ICQ: 209913513
Вопросов: 10
Ответов: 45
Профиль | | #24
Добавлено: 19.02.08 02:13
да, и по-поводу приведенного выше кода. Мне нужно чтобы я мог поставить любой скин на форму. А вы приводите код для одного определенного вида формы без возможности его замены. воть
Номер ответа: 25
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #25
Добавлено: 19.02.08 02:25
Если приведенная выше цитата из твоего вопроса, то приведеннй код показывает тебе один из возможных примеров создания нестандартной формы
Номер ответа: 26
Автор ответа:
pasha
ICQ: 209913513
Вопросов: 10
Ответов: 45
Профиль | | #26
Добавлено: 19.02.08 02:29
согласен. вопрос был задан мной некорректно
Номер ответа: 27
Автор ответа:
pasha
ICQ: 209913513
Вопросов: 10
Ответов: 45
Профиль | | #27
Добавлено: 19.02.08 02:39
а почему событие "WindowsApplication1.Form1.BackgroundImage.Save(Path + "\skinimg.jpg"" не перезаписывает файл в данной директории? он выдает ошибку GDI+. как быть?
можно конечно перед этим выполнить следующее:
System.IO.File.Delete(Path + "\skinimg.jpg"
но опять же ошибка, т.к. файл используется в данный момен приложением