一个很好玩的小东西

步骤 扩展名改成.vbs

1、建立一个txt文本文档
2、复制代码,保存。
3、退出后,重新打开

代码很简单

do
msgbox(“我喜欢你”)
msgbox(“关机吧”)
loop
可以自定义内容。
发给小伙伴吧!
一起体验代码的快乐!

<think>我们正在开发一个情侣日记应用。根据引用内容,我们可以看到用户之前提到过用C#开发过桌面表白小程序(引用[2]),并且有图片按钮点击事件的处理经验。因此,我们可以利用WindowsForms或WPF来开发桌面应用,或者考虑跨平台的MAUI。由于引用[2]中使用了WindowsForms(pictureBox2_Click事件),我们可以选择WindowsForms作为起点,因为它简单且用户有基础。情侣日记应用的基本功能可能包括:1.用户登录(区分情侣双方)2.撰写日记(文本、图片等)3.查看对方的日记4.时间线展示5.一些情侣互动功能(如点赞、评论等)但为了简单起见,我们先实现核心功能:两人可以写日记并互相查看。步骤:1.创建WindowsForms项目。2.设计登录界面:两个按钮代表两个用户(或者输入账号密码,但这里简化)。3.主界面:一个RichTextBox用于输入日记,一个按钮用于保存,一个列表(如ListView)用于展示日记条目。4.数据存储:可以使用本地文件(如XML、JSON或SQLite数据库)。考虑到是桌面应用,SQLite是一个轻量级的选择。我们使用SQLite数据库来存储日记。需要安装System.Data.SQLite包。数据库设计:表:Diary列:Id(int,primarykey),Author(nvarchar),Content(text),Date(datetime)实现步骤:第一步:创建项目和数据库1.新建WindowsForms项目。2.通过NuGet安装System.Data.SQLite。3.创建数据库和表(可以在程序第一次运行时创建)。第二步:登录界面假设我们有两个固定用户:User1和User2。登录界面有两个按钮,点击后进入主界面,并记录当前登录用户。第三步:主界面主界面包含:-一个RichTextBox(用于写日记)-一个保存按钮-一个ListView(用于显示日记列表,点击可查看详情)第四步:功能-保存日记:将当前用户和内容、日期保存到数据库。-加载日记:从数据库加载所有日记(或按时间倒序),在ListView中显示。第五步:查看日记-点击ListView中的某篇日记,可以查看详情(在另一个窗体或当前窗体的另一个区域)。考虑到时间,我们先实现一个简单版本。代码示例:1.登录窗体(LoginForm):```csharppublicpartialclassLoginForm:Form{publicstringCurrentUser{get;privateset;}publicLoginForm(){InitializeComponent();}privatevoidbtnUser1_Click(objectsender,EventArgse){CurrentUser="User1";this.DialogResult=DialogResult.OK;this.Close();}privatevoidbtnUser2_Click(objectsender,EventArgse){CurrentUser="User2";this.DialogResult=DialogResult.OK;this.Close();}}```2.主窗体(MainForm):需要连接数据库,并实现保存和加载日记。首先,创建SQLite帮助类(或直接写在主窗体中):```csharpusingSystem.Data.SQLite;publicclassDatabaseHelper{privatestringconnectionString="DataSource=diary.db;Version=3;";publicDatabaseHelper(){InitializeDatabase();}privatevoidInitializeDatabase(){if(!File.Exists("diary.db")){SQLiteConnection.CreateFile("diary.db");using(varconnection=newSQLiteConnection(connectionString)){connection.Open();stringcreateTable=@"CREATETABLEDiary(IdINTEGERPRIMARYKEYAUTOINCREMENT,AuthorTEXTNOTNULL,ContentTEXTNOTNULL,DateDATETIMEDEFAULTCURRENT_TIMESTAMP)";newSQLiteCommand(createTable,connection).ExecuteNonQuery();}}}//保存日记publicvoidSaveDiary(stringauthor,stringcontent){using(varconnection=newSQLiteConnection(connectionString)){connection.Open();stringinsert="INSERTINTODiary(Author,Content)VALUES(@author,@content)";varcommand=newSQLiteCommand(insert,connection);command.Parameters.AddWithValue("@author",author);command.Parameters.AddWithValue("@content",content);command.ExecuteNonQuery();}}//获取所有日记(按时间倒序)publicDataTableGetAllDiaries(){using(varconnection=newSQLiteConnection(connectionString)){connection.Open();stringselect="SELECT*FROMDiaryORDERBYDateDESC";varadapter=newSQLiteDataAdapter(select,connection);DataTabledt=newDataTable();adapter.Fill(dt);returndt;}}}```3.主窗体设计:添加控件:RichTextBox(name:rtbContent),Button(name:btnSave),ListView(name:lvDiaries,View:Details,添加列:Id(隐藏)、Author、Date、Content(可以只显示部分内容))主窗体代码:```csharppublicpartialclassMainForm:Form{privatestringcurrentUser;privateDatabaseHelperdbHelper=newDatabaseHelper();publicMainForm(stringuser){InitializeComponent();currentUser=user;LoadDiaries();}privatevoidbtnSave_Click(objectsender,EventArgse){stringcontent=rtbContent.Text;if(!string.IsNullOrEmpty(content)){dbHelper.SaveDiary(currentUser,content);rtbContent.Clear();LoadDiaries();}}privatevoidLoadDiaries(){DataTabledt=dbHelper.GetAllDiaries();lvDiaries.Items.Clear();foreach(DataRowrowindt.Rows){ListViewItemitem=newListViewItem(row["Id"].ToString());item.SubItems.Add(row["Author"].ToString());item.SubItems.Add(Convert.ToDateTime(row["Date"]).ToString("yyyy-MM-ddHH:mm"));item.SubItems.Add(row["Content"].ToString());lvDiaries.Items.Add(item);}}//可以添加双击ListView事件来查看详情privatevoidlvDiaries_DoubleClick(objectsender,EventArgse){if(lvDiaries.SelectedItems.Count>0){stringcontent=lvDiaries.SelectedItems[0].SubItems[3].Text;stringauthor=lvDiaries.SelectedItems[0].SubItems[1].Text;stringdate=lvDiaries.SelectedItems[0].SubItems[2].Text;//显示详情,可以打开新窗体DiaryDetaildetailForm=newDiaryDetail(author,date,content);detailForm.ShowDialog();}}}```4.日记详情窗体(DiaryDetail):简单显示作者、日期和内容。以上是一个基础版本。可以在此基础上增加更多功能,如图片、加密、美化界面等。根据引用[2],用户之前实现过图片按钮点击事件,所以可以扩展为支持图片上传。此外,引用[1]中提到过自定义控件和瀑布流,可以考虑用更美观的方式展示日记列表(比如用流式布局面板和自定义控件)。注意:由于是情侣应用,还可以加入一些温馨的元素,比如在日记中添加爱心图标,或者使用情侣主题颜色。下面生成相关问题:</think>### C#开发情侣日记应用指南 情侣日记应用的核心功能包括:双用户系统、日记编辑、时间线展示、隐私保护和互动功能。以下是开发步骤: #### 一、基础架构设计 1. **技术选型**: - 前端:WPF(桌面应用)或MAUI(跨平台) - 后端:ASP.NET Core Web API - 数据库:SQLite(本地存储)或SQL Server(云存储) - 身份验证:JWT令牌 2. **数据库设计**: ```sql CREATE TABLE Users ( UserId INT PRIMARY KEY, Username NVARCHAR(50) UNIQUE, PasswordHash NVARCHAR(100) ); CREATE TABLE Entries ( EntryId INT PRIMARY KEY, AuthorId INT FOREIGN KEY REFERENCES Users(UserId), Content TEXT, CreateTime DATETIME DEFAULT GETDATE(), IsShared BIT DEFAULT 0 -- 是否共享给对方 ); ``` #### 二、核心功能实现 1. **双用户登录系统**: ```csharp // 简化登录验证 public bool Authenticate(string username, string password) { using (var conn = new SQLiteConnection(connectionString)) { var query = "SELECT PasswordHash FROM Users WHERE Username = @username"; var storedHash = conn.ExecuteScalar<string>(query, new {username}); return BCrypt.Verify(password, storedHash); } } ``` 2. **日记编辑功能**(WPF示例): ```xml <RichTextBox x:Name="rtbContent" Margin="10"/> <Button Content="保存" Click="BtnSave_Click"/> ``` ```csharp private void BtnSave_Click(object sender, RoutedEventArgs e) { var content = new TextRange(rtbContent.Document.ContentStart, rtbContent.Document.ContentEnd).Text; // 保存到数据库 diaryService.SaveEntry(CurrentUser.Id, content); } ``` 3. **时间线展示**: ```csharp public List<DiaryEntry> GetSharedEntries(int userId) { // 获取自己和伴侣共享的日记 return db.Query<DiaryEntry>( @"SELECT * FROM Entries WHERE AuthorId = @userId OR (IsShared = 1 AND AuthorId = (SELECT PartnerId FROM Users WHERE UserId = @userId))", new { userId } ).ToList(); } ``` #### 三、特色功能实现 1. **私密日记保护**: ```csharp // 使用AES加密 public string EncryptEntry(string content, string key) { using (Aes aes = Aes.Create()) { aes.Key = Encoding.UTF8.GetBytes(key); ICryptoTransform encryptor = aes.CreateEncryptor(); using (MemoryStream ms = new MemoryStream()) { using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write)) { using (StreamWriter sw = new StreamWriter(cs)) { sw.Write(content); } return Convert.ToBase64String(ms.ToArray()); } } } } ``` 2. **爱心特效互动**(参考引用[2]): ```csharp private void btnLove_Click(object sender, EventArgs e) { // 显示爱心动画 var heart = new Image { Source = new BitmapImage(new Uri("heart.png")) }; Canvas.SetLeft(heart, rand.Next(100, 300)); mainCanvas.Children.Add(heart); // 向伴侣发送通知 notificationService.SendLove(CurrentUser.PartnerId); } ``` #### 四、部署方案 1. **本地模式**: - 使用SQLite存储数据 - 通过局域网Socket通信同步数据 - 适合情侣在同一网络环境 2. **云同步模式**: - 部署ASP.NET Core服务到Azure - 客户端通过RESTful API交互 - 使用SignalR实现实时消息推送 #### 五、界面设计建议 1. 双色主题区分用户(粉色/蓝色) 2. 时间线采用聊天界面布局 3. 添加纪念日倒计时组件 4. 集成照片上传功能(引用[1]的图片处理经验) [^1]: 大学期间自己还写过很多好玩东西...比如用c#写的纸牌游戏、简单版的图片编辑器... [^2]: 情人节特辑|桌面表白小程序...图片按钮点击事件...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值